ETF定投数据分析9——使用BT框架模拟交易

本文介绍了使用bt库进行量化交易回测的经验,通过实例展示了如何获取数据、构建策略、运行回测并分析结果。在回测过程中,讨论了添加交易手续费的方法,并提出如何将止盈止损策略融入到策略中的问题。
摘要由CSDN通过智能技术生成

距离上次文章已经过去几个月了,我一直在与模拟交易挣扎。代码已经能运行了,但是想添加止盈止损的策略,总是调不对。具体可以看项目github库(https://github.com/zwdnet/etfdata)里的simulate分支里的simulater2.py
后来,我想不能再这么挣扎下去了。于是就在网上找量化投资的python库。几番尝试找到一个叫bt的库,是建立在ffn基础上的。试了一下,pydroid3里能装的,就用它吧。
官方文档地址: http://pmorissette.github.io/bt/index.html
以下翻译自官方文档:
bt是一个灵活的用于测试量化投资策略的Python回测框架。回测(Backtesting)是用给定的数据集测试量化投资策略的过程。本框架能使您容易的建立混合和匹配不同算法的策略。
目标是节省量化投资者重新造轮子的时间,使他们专注于工作的重要部分——策略开发。
一个例子

import bt

# 首先下载数据
data = bt.get('spy,agg', start='2010-01-01')
"""这是通过yahoo下载的数据,要下载A股数据要用其它工具,例如tushare"""

# 接着,创建策略
s = bt.Strategy('s1', [bt.algos.RunMonthly(),
                       bt.algos.SelectAll(),
                       bt.algos.WeighEqually(),
                       bt.algos.Rebalance()])
"""第一个参数是策略名称,第二个策略是一个包含策略具体内容的list,包括操作间隔,选股策略,权重,和再平衡策略。这里都使用algos类里的函数,如果没满足需要也可以自定义。"""
"""最后,建立一个回测Backtest,在策略与数据之间建立逻辑联系。"""
test = bt
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值