首页 文章详情

PyBroker-中文文档及 AKShare 数据类更新

数据科学实战 | 3 2023-09-06 18:54 0 0 0
UniSMS (合一短信)

目前 PyBroker 这个量化投资框架的中文文档及 AKShare 数据类已经更新。我们会持续迭代更新文档和项目源码,由于其文档写的比较偏技术化,后续也会推出相关的使用文章,供大家参考。最后推出 PyBroker 开发者录制的视频课程,方便有需要的小伙伴可以快速上手。

本次主要围绕以下内容给大家做一个介绍:

  1. 如何查看中文文档
  2. 如何导入 AKShare 数据类
  3. PyBroker 系列视频教程

如何查看中文文档

用户可以通过以下几种方式来查看中文文档:

  1. 通过域名访问:https://www.pybroker.com/zh_CN/latest/
  2. 通过开源项目的 README 文档访问:其内容在 https://github.com/edtechre/pybroker 主页的 Online Documentation 部分,可以找到【 (For Chinese users: 中文文档, courtesy of Albert King.)】部分来访问
  3. 可以从 https://www.pybroker.com/ 页面中切换到中文来访问其中文文档

关于中文文档的注意事项说明:

  1. 由于翻译问题,可能会存在与英语文档不一致的问题,以英文文档为准
  2. 如有翻译问题,可以在项目提交 issues 或星球提问,方便及时修正

如何导入 AKShare 数据类

目前 1.1.28 版本的 PyBroker 已经对 AKShare 数据类的导入方式进行修改,以方便后续功能的迭代开发。我们以一个例子来演示如何导入并使用 AKShare 数据类,这段代码的目标是在股票 000001 上执行一个简单的交易策略,并在回测结束后,返回回测结果。这个策略的特点是,如果当前持有股票,就卖出所有股票;如果没有持有股票,就买入全部可购买的股票,并持有 3 个交易日。

代码如下:

from pybroker import ExecContext, StrategyConfig, Strategy
from pybroker.ext.data import AKShare

# 实例化 AKShare 数据类并获取股票数据
akshare = AKShare()
df = akshare.query(symbols='000001', start_date='20200101', end_date='20230830', adjust='')

# 打印获取的股票数据的前5行
df.head()


# 定义交易策略函数
def buy_func(ctx: ExecContext) -> None:
    pos = ctx.long_pos()  # 获取当前的长期持有的股票
    if pos:  # 如果当前持有股票
        ctx.sell_shares = pos.shares  # 卖出所有的股票
    else:  # 如果当前没有持有股票
        ctx.buy_shares = ctx.calc_target_shares(1)  # 买入全部可购买的股票
        ctx.hold_bars = 3  # 设置持有的交易日为3天


# 创建策略配置对象,设置初始现金为 500,000 元
my_config = StrategyConfig(initial_cash=500000)

# 创建策略对象,设置数据源为 AKShare,开始日期为 '20230801',结束日期为 '20230830',策略配置为 my_config
strategy = Strategy(data_source=AKShare(), start_date='20230801', end_date='20230830', config=my_config)

# 将定义的交易策略函数添加到策略对象中,应用于股票 '000001'
strategy.add_execution(fn=buy_func, symbols=['000001'])

# 执行回测
result = strategy.backtest()

其中第 2 行:from pybroker.ext.data import AKShare 主要从 ext.data 模块来导入 AKShare 数据类,其中 AKShare 数据类可以指定其是否复权。

其中需要注意的是在 Strategy 中使用 data_source=AKShare() 的数据类默认是复权数据,此问题将在下一个版本的 PyBroker 中进行更新修复,之后版本可以指定是否使用复权,目前版本只能通过修改 AKShare 数据类的源码进行改动。

PyBroker 系列视频教程

考虑到目前 PyBroker 的文档对于新手使用有一定的门槛,我们在知识星球【数据科学实战】中已经更新 PyBroker 相关的视频课程,方便大家快速入手。当然我们给大家提供了讨论交流的平台,方便大家学习和使用 PyBroker,目前已经计划的课程:

  1. PyBroker-入门及实战-01-概览(已更新)
  2. PyBroker-入门及实战-02-数据源(已更新)
  3. PyBroker-入门及实战-03-策略回测01(已更新)
  4. PyBroker-入门及实战-04-自定义数据源(已更新)
  5. PyBroker-入门及实战-05-策略回测02(待更新)
  6. PyBroker-入门及实战-06-策略回测03(待更新)
  7. PyBroker-入门及实战-07-自定义指标01(已更新)
  8. PyBroker-入门及实战-08-自定义指标02(已更新)
  9. 更多课程......

课程中提供文档、源码及视频资料方便学习了解,同时利用知识星球的特性,方便讨论交流 PyBroker 框架的相关问题。可以通过访问【数据科学实战】公众号加入本星球。


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter