通达信行情数据获取--python,python调用通达信指标
在前一篇文章的基础上,分享两个量化股票所需的数据资源。
通过python第三方库pytdx获取。
这是一个非常强大的第三方库,原理是分析的底层数据。这是辛的资料。没错,我说的是老少皆宜的通达信软件,平时看单。现在只需要在python中安装一个第三方库,就可以得到原始的交易数据。
获取市场数据的代码如下。返回的数据可以是列表格式或数据帧格式。
从pytdx.hq导入
TdxHq_APIapi=TdxHq_API()
#数据采集接口一般返回列表结构。如果需要转换成pandas Dataframe接口,可以通过api.to_df进行转换。
使用api.connect(119.147.212.81 ,7709):
#返回正常列表
data=api.get_security_bars(9,0, 000001 ,0,10) print(data)
#返回数据帧
data=API . to _ df(API . get _ security _ bars(9,0, 000001 ,0,800)) print(data)
返回的数据如下:
除了市场数据,还可以获得财务数据。
从pytdx . crawler . history _ financial _ crawler导入历史金融列表crawler
crawler=historyfinancialistcrawler()
list _ data=crawler . fetch _ and _ parse()
打印(pd。DataFrame(data=list_data))
运行上述程序可以得到以下结果。这些zip文件是当前季度所有股票的财务数据。我们可以看到最新的财务数据已经更新到了2019年6月30日。
我们来看看最近一个金融周期的数据。
从pytdx.reader导入历史金融阅读器
进口熊猫作为pd
PD . set _ option( display . max _ columns ,无)
print(HistoryFinancialReader()。get _ df( C://ZD _ axzq//VIP doc//CW//gpcw 2019 06 30 . zip ))
请注意,这里获取数据的地址是需要在您自己的计算机上访问的安装目录。如果找不到这个目录,可以在浏览器中搜索文件gpcw20190630.zip找到。
从腾讯网站获取历史数据
需要输入几个参数,股票代码和数据周期(年、月、周、日)。
从urllib.request导入urlopen
导入json
从随机导入randint
进口熊猫作为pd
PD . set _ option( expand _ frame _ repr ,False)
PD . set _ option( display . max _ rows ,5000)
#=====创建随机数的函数
定义_随机(n=16):
创建一个n位随机整数。
:参数n:
:返回:
start=10**(n-1)
end=(10**n)-1
返回字符串(randint(start,end))
stock_code=sz000001
Type= day #日、周和月分别用于日、周和月行。
Num=640 #股票最多不能超过640。指数、ETF等没有限制。
#构建url
URL= http://web . ifzq . gt img . cn/app stock/app/FQ Kline/get?_var=kline_%sqfqparam=%s,%s、%s,qfqr=0。“%s”
url=url % (k_type,stock_code,k_type,num,_random())
content=urlopen(url)。阅读()。解码()
content=content.split(=,maxsplit=1)[-1]
content=json.loads(内容)
数据=内容[数据][股票代码]
如果输入数据:
数据=数据[类型]
Elif qfq 输入数据:# qfq是原复职权的缩写。
数据=数据[qfq 类型]
否则:
Raise ValueError(字典中不存在任何已知键,请检查数据)
df=pd。数据帧(数据)
打印(df)
运行代码后获得的数据如下:
0:蜡烛_结束_时间,1:打开,2:关闭,3:高,4:低,5:金额
重新加权处理
以上两种方法得到的数据都是未经处理的,那么我们如何得到复效的数据呢?
我们可以通过计算收益权系数来得到收益权数据。具体方法如下。
进口熊猫作为pd
PD . set _ option( expand _ frame _ repr ,False)
PD . set _ option( display . max _ rows ,5000)
#导入数据
path=D:/sz000001.csv
df=pd.read_csv(path,encoding=gbk ,skiprows=1)
#计算复职的涨跌
Df[涨价]=df[收盘价]/df[前收盘价]-1
#计算加权系数
Df[权重因子]=(1 df[价格涨跌])。累计产量()
#计算前的恢复价格
Df[收盘价_复权]=df[复权系数] * (df.iloc[-1][收盘价]/df.iloc[-1][复权系数])
#计算恢复价格后
Df[收盘价_复权]=df[复权系数] * (df.iloc[0][收盘价]/df.iloc[0][复权系数])
#计算复权后的开盘价、最高价和最低价。
Df[开盘价_复权]=df[开盘价]/df[收盘价] * df[收盘价_复权]
Df[最高价_复权]=df[最高价]/df[收盘价] * df[收盘价_复权]
Df[最低价_复权]=df[最低价]/df[收盘价] * df[收盘价_复权]
Tushare获取数据
共享丰富的交易数据和财务数据。安装也很简单,只需pip安装tushare即可。https://tushare.pro/
下面是一个获取历史交易数据和财务数据的例子。
pro=ts.pro_api()
df=ts.pro_bar(ts_code=300024。 SZ ,adj=qfq ,start_date=20180101 ,end_date=20190920 )
打印(df)
这是获取股票300024从2018年1月1日到2019年9月20日所有复权前数据的代码。操作后返回的数据如下。
下面是获取财务指标数据的代码。
pro=ts.pro_api()
df=pro . fina _ indicator(ts _ code= 300024。SZ’)
打印(df)
运行后,它以dataframe格式返回数据,非常方便检索我们需要的列数据。例如,如果我们想要检索EPS数据,我们只需要编写print (df[eps])
金块定量API
掘金是一个在线量化平台。目前已经推出了可以本地使用的数据API接口。这个平台类似于聚宽,友矿,可以在线写策略,回测。亮点在于这个平台支持本地的IDE编辑策略,也就是说策略编写存储在本地而不是平台的云端,可以避免策略泄露。
具体加载数据和回测可以仔细看说明书了解。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。