量化交易python培训心得python培训量化交易python与量化交易培训
下载地址 https://share.weiyun.com/tIMc8ewb
资料目录 Python股票量化投资视频课程(25集完结) Python股票量化策略培训预习材料(视频讲解+素材) 《Python机器学习与量化投资》电子书 《Python量化交易》.pdf 《Python与量化投资:从基础到实战》.pdf 《零起点TensorFlow与量化交易》.pdf 机器学习在量化投资中的应用研究_汤凌冰著 pdf 量化交易之路:用Python做股票量化分析(高清).pdf 量化投资以Python为工具.pdf 举例 双均线策略 双均线策略是最简单的 CTA 策略,相当于编程中的“Hello World!”,其运用场景是日均中长线交易,掌握好双均线策略有利于理解更加复杂的交易策略。
策略原理 对于每一个交易日,都可以计算出前 N 天的移动平均值,把这些移动平均值连成一条线,就叫作 N 日移动平均线。该策略用到两条均线,分别是快均线(5天均线)和慢均线(20 天均线)。当快均线上升穿过慢均线时,形成金叉,给出买入信号。反之,当快均线下跌穿过慢均线时,形成死叉,给出卖出信号。如图5-1 所示。 图 5-1 金叉和死叉形成 双均线策略的缺点是仅仅给出买卖信号,并无明确的过滤器和止损,故其稳定性不好。虽然使用该策略的玩家非常多,但是该策略已开始经逐渐失效了。 关于策略回测,在一般情况下,当拿到一组数据时: 第一步,用简单的向量回测方法来检测它是否有强的自相关性,如果数据在时间序列上表现出趋势,则适合使用 CTA 类策略。反之,如果表现出均值回归(即在一定价格区间上下震荡),则使用套利类策略。 第二步,当数据显示很强或者很弱的自相关性时,均需要更加精细化的策略回测,vn.py 提供了比较完整的策略回测模块,用户可以基于该模块进行数据回测。
vn.py 回测 (1)导入包。 pymongo 用于在 Python 环境中连接到 MongoDB 数据库,VtBarData 里保存了 K 线数据,DAILY_DB_NAME 是 vn.py 定义的 MongoDB 数据库存放日线数据的地方。 In[1] #加载模块 %matplotlib inline import tushare as ts import pymongo #MongoDB 的Python 客户端 from datetime import datetime from vnpy.trader.vtObject import VtBarData # vtObject 里面保存了所有交易平台用到的 #数据 from vnpy.trader.app.ctaStrategy.ctaBase import DAILY_DB_NAME #加载 vn.py 数据库 #常量 (2)获取数据。 ts.get_hist_data 通过 Tushare 把行情数据导入内存中。Sort_index()则可对时间序列进行重新排序,其顺序是从最老的数据到最新的数据,因为 Tushare 默认下载的数据排序是从最新到最老。 In[2] # 定义合约代码 Symbol = '510050' Exchange = 'SSE' #上交所 vtSymbol = '.'.join([symbol, exchange]) #股票(合约代码+交易所代码) # 下载历史数据 data = ts.get_hist_data(symbol, '2017-01-01', '2018-01-01') data = data.sort_index() print u'数据下载完成' (3)创建 MongoDB 连接。在 MongoClient 传入参数,第一个是 MongoDB 所在服务器的默认 IP(本机地址),第二个是默认端口 27017。然后返回客户端下的数据库对象,在数据库中查找 vtSymbol。 #创建MongoDB 链接 client = pymongo.MongoClient('localhost', 27017) #默认IP 和默认端口 collection = client[DAILY_DB_NAME][vtSymbol] #数据库中查找vtSymbol collection.ensure_index('datetime') #保证索引的唯一性 print u'MongoDB 链接成功' 在 MongoDB 数据库中可以看见连接已经创建好了,如图 5-8 所示。 图 5-8 MongoDB 连接创建成功
|