我是Python的初学者,想了解zipline对我来说是否是正确的回测框架。
我可以在调试和查看某些点的可变内容时最好地理解其他人的代码。为此,我最喜欢Pycharms调试的可能性。
从我理解的zipline manual开始,该zipline可以从OS命令行执行:
zipline run -f ../../zipline/examples/buyapple.py --start 2000-1-1 --end 2014-1-1 -o buyapple_out.pickle
或通过IPython:
IPython Notebook是一个非常强大的基于浏览器的Python解释器接口(本教程是用它编写的)。由于它已经是大多数定量研究人员的事实上的界面,zipline提供了一种在Notebook中运行算法的简便方法,而无需使用CLI。
有什么方法可以使用zipline和Pycharm,这样我也可以调试zipline代码本身(或者至少是我自己的代码)?
使用pip安装后,我在文件系统中找到以下入口点:
档案/home/user/anaconda3/bin/zipline
#!/home/user/anaconda3/bin/python
# -*- coding: utf-8 -*-
import re
import sys
from zipline.__main__ import main
if __name__ == '__main__':
sys.argv[0] = re.sub(r'(-script\.pyw?|\.exe)?$', '', sys.argv[0])
sys.exit(main())
但尝试以这种方式访问zipline是明智的吗? 或者克隆git存储库并以这种方式调用zipline更好?那么包装器应该如何将参数传递给zipline?
答案 0 :(得分:1)
您可以使用run_algorithm
方法在pycharm或任何IDE中运行zipline。
像这样的东西:
from datetime import datetime
import pandas as pd
from zipline import run_algorithm
start = pd.Timestamp(datetime(2018, 1, 1, tzinfo=pytz.UTC))
end = pd.Timestamp(datetime(2018, 7, 25, tzinfo=pytz.UTC))
run_algorithm(start=start,
end=end,
initialize=initialize,
capital_base=100000,
handle_data=handle_data,
before_trading_start=before_trading_start,
data_frequency='daily')
我正在使用这些软件包:
pandas==0.18.1
pandas-datareader==0.6.0
zipline-live==1.1.0.5
numpy==1.15.0
matplotlib==2.2.2
和python27