目前基於Python的量化回测框架有很多,开源框架有zipline、vnpy和backtrader等等,本次以backtrader来示范,
安装方法可以参考官方网站
简单的设定
from __future__ import (absolute_import, division, print_function,
unicode_literals)
import backtrader as bt
if __name__ == '__main__':
cerebro = bt.Cerebro()
print('Starting Portfolio Value: %.2f' % cerebro.broker.getvalue())
cerebro.run()
print('Final Portfolio Value: %.2f' % cerebro.broker.getvalue())
比如说我们要回测SPY状况
from datetime import datetime
import backtrader as bt
from dateutil.relativedelta import relativedelta
import yfinance as yf
class TestStrategy(bt.Strategy):
def __init__(self):
self._next_buy_date = datetime(2010, 1, 5)
def next(self):
if self.data.datetime.date() >= self. _next_buy_date.date():
self. _next_buy_date += relativedelta(months=1)
self.buy(size=1)
cerebro = bt.Cerebro()
data = bt.feeds.PandasData(dataname=yf.download('SPY', '2015-07-06', '2021-09-23', auto_adjust=True))
cerebro.adddata(data)
cerebro.addstrategy(TestStrategy)
cerebro.broker.set_cash(cash=10000)
cerebro.run()
cerebro.plot()
<<: 30-8 之 Presentation Layer - MVC ( Model-View-Controller )
终於来到我们最後一个主题了,今天我们要介绍的是图形使用者介面(graphical user inte...
开赛时提到的社交工程钓鱼邮件 除了快速好上手的SET工具之外 gophish具有美美的UI介面,简洁...
浅谈原始码 D3包装了Javascript的fetchAPI来撷取资料我们这里可以看到D3Js的原始...
上架google play要先跟google缴交$25美元终生上架费用@@如果有钱有设备也可以申请a...
软件开发中,产品经理在规划产品方案时,都会注意用户体验的部分,其实关於用户体验的部分 James G...