pybacktest 的疑点
第(一)节“教程”原文,是用 ipython notebook 写成,程序代码是一些片段组成。
为了阅读方便,合并在一起。
import pybacktest
import pandas as pd
ohlc = pybacktest.load_from_yahoo('SPY')
ohlc.tail()
short_ma = 50
long_ma = 200
ms = pandas.rolling_mean(ohlc.C, short_ma)
ml = pandas.rolling_mean(ohlc.C, long_ma)
buy = cover = (ms > ml) & (ms.shift() < ml.shift()) # ma cross up
sell = short = (ms < ml) & (ms.shift() > ml.shift()) # ma cross down
print '> Short MA\n%s\n' % ms.tail()
print '> Long MA\n%s\n' % ml.tail()
print '> Buy/Cover signals\n%s\n' % buy.tail()
print '> Short/Sell signals\n%s\n' % sell.tail()
bt = pybacktest.Backtest(locals(), 'ma_cross')
print filter(lambda x: not x.startswith('_'), dir(bt))
print '\n> bt.signals\n%s' % bt.signals.tail()
print '\n> bt.trades\n%s' % bt.
pybacktest回测框架解析与问题探讨

本文主要探讨了pybacktest回测框架在使用过程中遇到的疑问,包括函数调用的条件、ipython notebook中%pylab inline的影响,以及数据源从yahoo获取与csv文件读取的区别。关键在于yaml数据帧的tz属性对于pybacktest运算的重要性,不正确的数据格式可能导致程序异常中断。此外,还提到了回测结果的理解难点。
最低0.47元/天 解锁文章
437

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



