tushare 下载股票行情数据,复权处理100万行需要10分钟,请教如何优化。

hhxadhy 2019-02-12 03:50:14
本人菜鸟一只,上代码,大佬给看看。

我每天下载最新未复权行情,自己做复权处理,复权公式:复权价=收盘价*当日复权因子/最新复权因子。
下图是我本地存储的数据。adj_factor是因子列。

我复权处理,就是用for循环,用df1 = df.ix[code] 来保存一只股票全部代码,用i存储最新日期的因子,再用 df1['factor'] = df1['adj_factor']/i,就可以得到股票复权的系数。后面直接系列相乘,这个简单。关键是这个for循环里,1百多万行耗时8分。

网上看了很多优化的文章,才知道自己这个最愚蠢。可是按文章里说的iterrow,apply,矢量化等等,我这个很难套进去。除了我的办法之外,怎么更快速得到复权的这个系数???????????
...全文
322 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
jeky_zhang2013 2019-02-16
  • 打赏
  • 举报
回复
考虑下多线程处理。

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧