Quant24h
Quant24h
# Python量化生态
# 数据收集
TuShare 目前国内最有名的数据API就是TuShare,是由大神Jimmy开发出来的,同时它是一个完全开源的软件,背后的数据源是曾经的雅虎、现在的新浪、腾讯等等所提供的免费数据源,所有人都可以去下载。
WindPy WindPy则是万得交易终端提供的一套交易接口,WindPy本身是开源的,但万得在使用时是需要购买的. 小型机构里比较常用的万得的WindPy数据接口,就相当于中国市场的Bloomberg。 用WindPy可以获取最低到TICK级的行情数据,当然数据质量可能不是那么稳定,一般用WindPy获取过去7天到2周的分周线数据还是比较靠谱的选择。
上海中期数据服务。 vn.py上海中期论坛里有一个BoxModule行情服务介绍。主要是针对期货市场提供分钟线和Tick级别的历史行情数据,它的特点是在上海中期开户的只要申请一下就可以免费使用了。
维恩的派(停止维护) https://cloud.tencent.com/developer/column/2194
# 策略开发
- Zipline
- RQAlpha
# 实盘交易
- vn.py
- 比较适合的交易接口可能主要针对机构用户.
- 无论是期货、证券,还是外汇、国内的黄金现货(黄金TD),还有外盘通过IB、直达去做的境外期货、境外股票等,甚至可以用比如OK Coin货币的接口去做比特币。
- Vn.py把所有的这些交易接口给封闭对接了,同时对外提供一套统一的调用方式。只要掌握了vn.py一套接口,底下所有这些交易通道都可以直接去使用。
- EasyTrader
- 定位主要是一些比较适合个人投资者使用的交易接口
# 回测模式
- Excel回测|Part19
- 向量化回测|Part20
- 事件化回测|Part21
- vnpy框架回测|Part22-23
# 交易策略
# DualTrust:双边突破
- Dual Thrust是一个趋势跟踪系统,由Michael Chalek在20世纪80年代开发,曾被Future Thruth杂志评为最赚钱的策略之一。
- 在Dual Thrust交易系统中,对于震荡区间的定义非常关键,这也是该交易系统的核心和精髓。
- Dual Thrust系统使用Range = Max(HH-LC,HC-LL)来描述震荡区间的大小。
- HH是N日High的最高价,
- LC是N日Close的最低价,
- HC是N日Close的最高价,
- LL是N日Low的最低价.
# AtrRsi:结合方向指标和波动指标
# Atr指标
Average True Range 真实波动幅度均值
- 当前交易日的最高价与最低价间的波幅
- 前一交易日收盘价与当个交易日最高价间的波幅
- 前一交易日收盘价与当个交易日最低价间的波幅
- 今日振幅、今日最高与昨收差价、今日最低与昨收差价中的最大值,为真实波幅。
- 其实只有一个参数,就是回望的周期数:atrlength
# Rsi指标
Relative Strength Index相对强弱指数.
是通过比较一段时期内的平均收盘涨数和平均收盘跌数来分析市场买沽盘的意向和实力,从而作出未来市场的走势。
N日RSI=[A÷(A+B)]×100%
- A--N日内收盘涨幅之和
- B--N日内收盘跌幅之和(取正值)
N日RSI=100-100/(1+RS)
- 从公式看实际理解为:在某一阶段价格上涨所产生的波动占整个波动的百分比。
# KingKeltner:通道突破
KingKeltner策略 (opens new window)
# 策略说明
KingKeltner策略是一个典型的通道突破策略,即当价格突破通道上轨时做多,当价格走低突破通道下轨时做空。轨道计算的思路也相对简单,先计算移动均线(MA),并且统计ATR指标,设置一定的通道宽度偏差X,如下:
- 上轨=MA+X*ATR
- 下轨=MA-X*ATR
因为ATR指标的性质,相对于标准差,它能够捕捉到K线跳空高开或者跳空低开的情况,所以更适合于一些在短期内有较大波动的品种,如股指期货,或者有小股指之称的螺纹钢。
# 三大要素:
- 信号:价格突破上轨做多,突破下轨做空
- 过滤:若价格在通道内上下走动,则不进行开仓操作
- 出场:固定百分点数移动止损离场
# OCO
OCO委托全称是One-Cancels-the-Other Order,意思是二选一委托。即在K线内同时发出止损买单和止损卖单:
- 若价格突破上轨,触发止损买单同时取消止损卖单
- 若价格突破下轨,触发止损卖单同时取消止损买单