加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

使用python-ctp接收行情并保存到HBase数据库

(2017-03-02 10:23:41)
标签:

ctp

python

backtest

分类: 量化交易
免责声明:
      本人在这一行积累的一点东西,开始输出点东西。
      本人及本人所在地球,对本文所产生的盈利或损失概不负责,不关心。
      相关代码如果没有特殊说明,遵循随便用,随便改,随便发布的三随协议。
    
本文目的:
      通过python-ctp的demo(这是[传送门] https://github.com/tradercoder/python-ctp [记得带回程卷轴,免得错失下文精彩故事])使更多人能够快速上手,通过接收行情并保存下来,通过行情数据的研究,参与交易。从而带动量化交易;为地球,太阳系,银河系的资本市场贡献一份代码。

----------------------------------------------------------------------------------------- 
这是唯一一条分割线

     python不愧为被称为胶水语言,更确切的说是万能胶,啥都能粘。无论是ABCDE ++语言, python它都能收下;从1+1=2 , 到深度学习,到处是它的天下;尼玛还抢了点matlab的碗饭;策略回测简直是神器;简直是得python得天下。:)
     python回测相关说明 请参考网页: https://robusttechhouse.com/python-backtesting-libraries-for-quant-trading-strategies/

贴段代码,证明下我不是文科生。(这blog的代码排版简直不能用:(); 有请传送门 https://github.com/tradercoder/python-ctp/blob/master/src/md_2_hbase/marketdatademo.py
 
class TestMD CThostFtdcMdSpi):
m_nRequestID = 0
m_szBrokerID = ""
m_szUserID = ""
m_szPassword = ""
m_vecSubIntruments = []
rowkeyindex = 1
def __init__(self, front, szBrokerID, szUserID, szPassword,vecSubIntruments):
CThostFtdcMdSpi.__init__(self)
self.m_szBrokerID = szBrokerID
self.m_szUserID = szUserID
self.m_szPassword = szPassword
self.m_vecSubIntruments = vecSubIntruments
self.api = CThostFtdcMdApi_CreateFtdcMdApi("")
self.api.RegisterSpi(self)
self.api.RegisterFront(front)
self.api.Init()
return
def join(self):
self.api.Join()
def OnFrontConnected(self):
print("MD FrontConnected")
field = CThostFtdcReqUserLoginField()
field.BrokerID = self.m_szBrokerID
field.UserID = self.m_szUserID
field.Password = self.m_szPassword
self.m_nRequestID += 1
self.api.ReqUserLogin(field, self.m_nRequestID)
return
def OnRspUserLogin(self, pRspUserLogin, pRspInfo, nRequestID, bIsLast):
print("MD OnRspUserLogin")
print pRspInfo.ErrorMsg
if (pRspInfo.ErrorID == 0):
self.api.SubscribeMarketData(self.m_vecSubIntruments)
return


def OnRtnDepthMarketData(self, pDepthMarketData):
#print pDepthMarketData.InstrumentID,pDepthMarketData.UpdateTime , pDepthMarketData.UpdateMillisec ,pDepthMarketData.LastPrice ,pDepthMarketData.Volume ,pDepthMarketData.AskPrice1 ,pDepthMarketData.AskVolume1 ,pDepthMarketData.BidPrice1 ,pDepthMarketData.BidVolume1


有了行情数据,我们就可以进行回测了,无论你是基于矩阵的回测还是基于行情驱动的回测, python统统适合你。什么!? 你用周易,易经,金刚经,神学,菠萝菠萝蜜,穿越术 !**!*&!HH进行交易的,这个pyhon帮不了你,都成神仙了,成道,成魔了,还交易啥,洗洗回家吧。

进入主题
      好了回到主题,


Life is short, you need Python

后期会推出
     统一接口
     横向,纵向的风控体系
尽情期待。

(完)


0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有