使用QSTK为佐治亚理工大学的课程计算投资课程,事件分析器函数的末尾的例子/ eventprofiler /tutorial.py没有输出在视频中显示的图表。(见下图)
为第4周的练习所产生的其他PDF是相同的空,除了事件编号,这是正确的。创建PDF似乎是一种浪费,因为这些数字可能只是输出到终端。
我查看了图像上显示的index.py:2204的错误输出,但是修复并不明显。(在与熊猫相关的github臭虫的类似(但不完全相同)问题上,其他一些回溯将index.py置于一个健康的调用堆栈中。)
如果我有时间,我可能会更深入地研究事件剖析器代码,但我想我应该先问一下。在QSTK上几乎没有堆栈溢出,在5分钟的快速搜索中,大熊猫也没有明显的相关性。
注意:我安装了一个VirtualBox,Ubuntu和QSTK,这是格鲁吉亚科技课程计算投资课程的定量软件wiki中的指导。到目前为止,我已经成功地完成了所有的任务,所以我认为我的设置应该没问题。
发布于 2015-11-22 15:11:10
问题在于EventProfiler。
默认情况下,在/usr/local/lib/python2.7/dist-packages/QSTK-0.2.8-py2.7.egg/QSTK/qstkstudy/EventProfiler.py中安装了用于Ubuntu的
在这段代码中:
if b_market_neutral == True:
df_rets = df_rets - df_rets[s_market_sym]
del df_rets[s_market_sym]
del df_events[s_market_sym]
问题在于减法。df_rets
最后满是NaNs。不知道为什么,一定是底层系统发生了变化,导致了这一点。
它可以通过在for循环中为每个符号做子运算来修正,如下所示:
if b_market_neutral == True:
for sym in df_events.columns:
df_rets[sym] = df_rets[sym] - df_rets[s_market_sym]
del df_rets[s_market_sym]
del df_events[s_market_sym]
您可以从EventProfiler.py下载一个带有修复程序的这里文件。将安装中的原始名称重命名,并将其替换为此。
在您提到的过程中,奋进号提出建议后,我还将错误栏的alpha值从0.1更改为0.6,以使它们更加可见:
if b_errorbars == True:
plt.errorbar(li_time[i_lookback:], na_mean[i_lookback:],
yerr=na_std[i_lookback:], ecolor='#AAAAFF',
alpha=0.6) #Changed alpha from 0.1 to 0.6 (Jose A Dura)
发布于 2016-09-25 13:56:57
我可以确认这个问题在qstkstudy/EventProfiler.py中。
if b_market_neutral == True:
df_rets = df_rets - df_rets[s_market_sym] # it fails here
del df_rets[s_market_sym]
del df_events[s_market_sym]
我就这样解决了:
if b_market_neutral == True:
df_rets = df_rets.sub(df_rets[s_market_sym].values, axis=0)
del df_rets[s_market_sym]
del df_events[s_market_sym]
https://stackoverflow.com/questions/33851603
复制相似问题