中文Python穿云箭量化平台》是纯Python开发的量化平台,因此其中很多Python模块,我们可以自己设计新的量化工具,例如自己新的行情软件、新的量化平台、以及各种量化研究工具。
穿云箭自带指标公式源码运行模块,可以为其他量化平台提供量化功能扩展或量化功能增强效果。
HP_tdxex模块是对pytdx的二次封装,同时简化的一些接口,方便用户获取行情。这个模块主要用在小白量化和穿云箭量化平台中,获取实时期货数据。
HP_tdxex不是开源模块,无法用pip安装,包含在穿云箭量化平台中。
HP_tdxex以元组方式构成代码名称“(市场,代码)”。市场代码表如下:
下面列出常见的品种的代码构成。
香港主板市场代码31,小米集团的代码是(31,’01810’)
上海股票期权市场代码8, 300ETF购6月3446A,代码是(8,’ 10004699’)
中金所期货市场代码47,上证2306 ,代码是(47,’ IH2306’)
郑州商品市场代码28,郑棉2306 ,代码是(28,’ CF2309’)
大连商品市场代码29,豆油主连,代码是(29,’ YL8’)
大连商品市场代码29,豆二2309,代码是(29,’ B2309’)
上海期货市场代码30,白银2308,代码是(30,’ AG2308’)
纽约商品市场代码16, COMEX钢卷2309 ,代码是(16,’ EHR23U’)
纽约石油市场代码17, MYMEX原油2309,代码是(17,’ CL23U’)
芝加哥谷市场代码18, 2年美国债2309,代码是(18,’ TU23U’)
下面给出行情接口说明。
1、引入模块
在程序开始,引入模块。
import HP_tdxex as htdxe #量化扩展行情模块
2、连接扩展行情服务器
htdxe.TdxexInit(ip=‘106.14.95.149’,port=7727)
其中ip是扩展服务器ip。port是端口。
3、断开服务器连接
htdxe.disconnect()
4、获取市场代码
htdxe. get_markets()
返回所有市场的代码。
5、查询市场中商品数量
get_instrument_count()
6、查询市场中全部商品
htdxe.GetSecurityList()
7、获取买卖盘口
htdxe.get_instrument_quote(nMarket=28, sStockCode=“PF2301”)
8、分时行情
htdxe.get_minute_time_data(nMarket=28, sStockCode=“PF2301”)
9、查询历史分时成交
htdxe.get_history_minute_time_data(nMarket=47, sCode=‘IFL0’, nDate=20200110, nStart=0)
#参数 市场ID,证券代码,日期,开始数据
10、获取分笔成交
htdxe. get_transaction_data(nMarket = 31,code=“00020”)
其中nMarket是市场编码,code是交易品种。
11、查询历史分笔成交
htdxe.get_history_transaction_data(nMarket=47, sCode=‘IFL0’, nDate=20200110, nStart=0)
12、查询k线数据
htdxe.get_instrument_bars(nCategory=9,nMarket = 31,code=“00020”,
nStart=0, nCount=100)
#参数: K线周期, 市场ID, 证券代码,起始位置, 数量
#参数:
#nCategory -> K 线种类
#0 5 分钟K 线
#1 15 分钟K 线
#2 30 分钟K 线
#3 1 小时K 线
#4 日K 线
#5 周K 线
#6 月K 线
#7 1 分钟
#8 1 分钟K 线
#9 日K 线
#10 季K 线
#11 年K 线
#nMarket -> 市场代码0:深圳,1:上海
#sStockCode -> 证券代码;
#nStart -> 指定的范围开始位置;
#nCount -> 用户要请求的K 线数目,最大值为800。
13、天勤品种转通达信
tqtotdx(symbol)
14、通达信转天勤品种
tdxtotq(m,c)
15、获取全部K线数据
get_all_bar(nCategory,nMarket,sCode)
下面给出一个获取期货甲醇1分钟实时K线全部数据的示例。
import datetime
import matplotlib.pyplot as plt
import pandas as pd
from pandas.plotting import register_matplotlib_converters
register_matplotlib_converters()
import HP_tdx as htdx
import HP_global as g
import HP_tdxex as htdxe #量化扩展行情模块
#开发者信息
#独狼荷蒲qq:2775205
#中文Python学习群:983815766
#电话微信:18578755056
m,security=(28,"MA2501")
hq=htdx.TdxInit() ##初始化行情
hqe=htdxe.TdxexInit(ip='113.108.212.57',port=7721) ##初始化扩展行情
nCategory=7
num=700
nStart=0
nCount=700
m,c=m,security
df =htdxe.get_instrument_bars(nCategory=nCategory,nMarket = m,sCode=c,nStart=nStart,nCount=nCount)
while num>=nCount:
nStart+=nCount
df1 =htdxe.get_instrument_bars(nCategory=nCategory,nMarket = m,sCode=c, nStart=nStart, nCount=nCount)
#df1=tdxapi.to_df(result)
num=len(df1)
df = pd.concat([df1,df],ignore_index=True)
df=df.reset_index(level=None, drop=True ,col_level=0, col_fill='')
print('数据长度',len(df))
print(df)
df.to_csv('ls.csv' , encoding= 'gbk')
好了,欢迎继续关注我的博客。后面我们介绍更多的二次开发技术。
超越自己是我的每一步!我的进步就是你的进步!