量化小白跟着PyBroker官方文档,一步步编写第一个股票组合回测程序


本文以PyBroker官方文档的示例,一步步完成一个简单的股票组合回测程序。

  • 股票组合: 苹果、微软、特斯拉
  • 回测时间为:2024年一整年
  • 交易策略为:
      1. 做多策略:如果某天的收盘价小于前一天的最低价,就买1/4仓位,持有3天卖出。苹果和微软运用此策略
      1. 做空策略:如果某天的收盘价大于前一天的最高价,就买空100股,持有2天卖出。特斯拉运用此策略

1.安装lib-pybroker包

> pip install -U lib-pybroker

2.导入必要包,并使用数据源缓存

这个回测程序使用雅虎财经作为数据源。使用数据源缓存来确保在运行回测时只下载一次所需的数据。
注: 如要获取A股市场数据可以导入from pybroker.ext.data import AKShare 用 AKShare() 获取数据

import pybroker
from pybroker import Strategy, StrategyConfig, YFinance, ExecContext

pybroker.enable_data_source_cache('my_strategy')

3.创建StrategyConfig对象

我们将初始现金设置为 10,000,,这个对象之后用来配置Strategy对象。

config = StrategyConfig(initial_cash=10000)

4.创建Strategy对象

通过传递以下参数来创建 Strategy 类的新对象: 数据源、开始日期、结束日期和配置对象。

strategy = Strategy(YFinance(), '1/1/2024', '12/31/2024', config)

5.定义交易规则1

  • buy_low 函数将接收一个包含当前股票代码数据的 ExecContext (ctx)。ExecContext 将包含当前股票代码最近 K 线之前的所有收盘价。通过 ctx.close[-1] 获取最新的收盘价。
  • buy_low 函数将使用 ExecContext 来下达买单。购买的股份数量通过 ctx.buy_shares设置,它是通过 ctx.calc_target_shares 计算的。在这种情况下,要购买的股份数量将
评论 23
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dudly

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值