本系列笔记没有学习顺序,学习系统性。仅是本人学习量化,学习PY过程中的踩坑点和避坑过程记录。特此说明下
发现tushare一次只能下载单支股票60行数据,影响效率,所以找了下其他数据源。
links = 'http://money.finance.sina.com.cn/quotes_service/api/jsonp_v2.php/var=/CN_MarketData.getKLineData'
payload = {'symbol':'sz000001', 'scale':'240','ma':'no','datalen':'60'}
ret = requests.get(links, params=payload)
s = str(ret.text)
s = s[54:len(s)-2] #返回json代码,开头有段<script>注解代码屏蔽掉
_p = pd.DataFrame(eval(s)) #eval(s)将返回的字符串转换为py可认的对象
symbol:股票代码,sz000001,2位市场代码加6位股票代码
scale:k线时长,240为日线,60为小时线以此类推
datalen:数据条数,从获取日倒数,60代表离获取数据当日最近60条数据,日线数据就是最近60天
该接口只能单支股票代码读取,实际操作,当我循环拉各个股票3600天的数据时候ip被封了。所以读取不能频繁,加个时间停顿后就可以正常循环拉下来了
import time
time.sleep(0.3) #暂停0.3秒
为了使数据兼容之前写的策略,所以还要整下格式,让他和tushare的列名一致。所以写上几句
_p['day'] = _p.apply(lambda x:x['day'].replace("-",""),axis=1) #日期调整为yyyymmdd格式
_p.rename(columns={"day":"trade_date","volume":"vol"},inplace=True) #列名修改

本文记录了在量化交易学习中遇到的问题,包括如何通过x浪网获取股票K线数据,解决tushare数据量限制,处理数据格式以匹配tushare,以及遇到的IP被封问题和解决方案。还探讨了pandas数据处理效率,分享了遍历df对象的最佳方式,并提及了可能的数据合并方法以及同花顺的量化平台SuperMind和easytrader模拟交易库。
最低0.47元/天 解锁文章
2282

被折叠的 条评论
为什么被折叠?



