Coder Social home page Coder Social logo

quantify's Introduction

Quantify

股票量化,包含股票知识图谱以及历史数据以及自动化交易。^为了不被割^

初心

疫情期间,在家学习的时候,学校发了补助,然后我自己也是个宅男,基本不消费了。恰逢那时股市动荡,后续开启了波澜壮阔的大牛市,所以也不知道是幸运还是不幸,我入场开始炒股。

但是苦于无人交流,以及自己未曾接受系统化的经济学教育,看的一些炒股相关的书籍也着实没啥很大用。所以在几次大亏之后,决定结合一点自己所学来帮助自己进行量化交易(其实就是亏惨了,对自己不自信了,所以寄希望于代码能帮助自己回本)

这个Project一直断断续续,一直也没发挥多大的作用,其中不无对代码的不自信,以及偶尔几次拉升中突然觉得自己又行了的因素。20年开始,21年近期逐步完善。在2021-05-12日开始,投入了一点钱,专门做一个最简单的网格交易,目前直至2021-06-01,总投入从一万加到三万四(因为发了工资啥的都直接丢进来),收益在847元,(2.5%)的收益,得益于五月份的好行情。不过这个模型一开始也只是小打小闹,我没给多少投入,所以其实算是十多天的收益吧,还行,而且玩的不是妖股,都是选择的权重股或者ETF,以及极少仓位的波动大的股票。我的大号的收益已经完全跑不赢这个在跑模型的小号了。

README也好久没更新了,所以今天更新下我之前写的一些模块,以及当前实盘操作的指南以及注意事项。


模块

数据引擎 (DataEngine)

Tushare 数据获取

获取股票、ETF、基金、指数等历史数据,以及实时新闻获取。目前都在DataEngine的Data.py下面。

获取股票的历史分时数据

这个是来自某个股友的自建项目网址,数据量很大,我也一直在爬取。主要代码和逻辑都在DataEngine的Mongo.py下面。

存储知识图谱

利用的是Neo4j作为底层数据库,有三个上层概念:概念、地区、行业。都是来自Tushare的分类。可视化的效果还凑合,但是实际作用比较菜,我数据挖掘不太行。所以这个后来就没继续实行了。主要代码和逻辑都在DataEngine的Neo4j.py下面。

获取基金持仓

因为tushare对这个貌似有比较高的积分要求,所以我自己从网上扒拉来了一个,在fund_protfolio.py下。


特征提取 (Feature)

预处理Tushare的数据

增加了delta_ma5_vol,delta_ma5,五日动量,二十日动量、RSI等指标。具体内容见pre_process_data.py

特征数据

结合数据格式进行一些指标参数的计算,具体内容见feature.py


行情监控 (Moniter)

A股监测

监控市场上所有的股票和指数并且输出图形,但是不是实时的, 后续补全。主要包括三种:市场的全部ETF,部分指数,全部的股票。具体内容在Market.py下


情绪分析 (entiment analysis)

新闻监控

目前这个是实用性比较好的,我在另外一个项目上搭建了一个网站专门实时刷新最新的财经新闻。获取新闻数据在simple.py中,以及他有一个简单的情绪分析判断,基于一篇论文中提出的金融情绪词汇进行统计学的情绪分析的。

机器学习情绪分析

这个是在github上扒拉下来的一个lstm的情绪分析的内容,效果跟前面那个差不多,我个人觉得这个得搭配完善的产业链知识图谱用,以及还要金融实体识别,这个我在做,但是没太上心。


策略 (Strategy)

决策树选股

这个是网上看的一个决策树判断第二天涨跌的分类模型,顺手拿来套用了,效果一般般吧,股市预测太难了。

神经网络

最简单的神经网络模型,甚至我连后面的激活层都直接干掉了,就硬拟合,比上面的好点,不过有限

三重动量、均线策略

基本都试了一遍,特定个股特定时期不错的,但是我不敢把钱交给这种。

网格交易策略

这个是我目前在用的,在原有的网格上面做了一点优化,抓住一只个股,不赚钱不放手,然后可以动态的配置买卖点的价格差。

针对某一只个股,需要配置下cache文件夹下的一些文件。

  1. code-log.txt,这个是用来记录最后一次该个股操作的价格和数量的
  2. gaps.txt,这个文件总览了所以个股的价差,意思是隔多少的价格来进行下一次操作
  3. buy_rates.txt 和 sell_rates.txt 这两个文件是设置浮动价格差的,对上一步的价格差进行一个微调,可以有效地控制做T的利润空间

具体的用处参见gridTrade.py的内容。该方法在HaiTong.py中被调用。


实际操作 (HaiTong)

本框架利用easytrader和easyquotation两个包,辅助以Tushare来进行。

  • easytrader的配置稍微有点麻烦,不过按照官网的基本都能跑通。
  • easyquotation主要是用来实时获取股价,比Tushare快十倍而且更加实时。
  • Tushare负责提供数据,好像没在具体用到,但是他是系统的底层支持,所以还是算上吧。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.