PyBroker-中文文档及 AKShare 数据类更新
共 3521字,需浏览 8分钟
·
2023-09-06 19:07
目前 PyBroker 这个量化投资框架的中文文档及 AKShare 数据类已经更新。我们会持续迭代更新文档和项目源码,由于其文档写的比较偏技术化,后续也会推出相关的使用文章,供大家参考。最后推出 PyBroker 开发者录制的视频课程,方便有需要的小伙伴可以快速上手。
本次主要围绕以下内容给大家做一个介绍:
-
如何查看中文文档 -
如何导入 AKShare 数据类 -
PyBroker 系列视频教程
如何查看中文文档
用户可以通过以下几种方式来查看中文文档:
-
通过域名访问:https://www.pybroker.com/zh_CN/latest/ -
通过开源项目的 README 文档访问:其内容在 https://github.com/edtechre/pybroker 主页的 Online Documentation 部分,可以找到【 (For Chinese users: 中文文档, courtesy of Albert King.)】部分来访问 -
可以从 https://www.pybroker.com/ 页面中切换到中文来访问其中文文档
关于中文文档的注意事项说明:
-
由于翻译问题,可能会存在与英语文档不一致的问题,以英文文档为准 -
如有翻译问题,可以在项目提交 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,目前已经计划的课程:
-
PyBroker-入门及实战-01-概览(已更新) -
PyBroker-入门及实战-02-数据源(已更新) -
PyBroker-入门及实战-03-策略回测01(已更新) -
PyBroker-入门及实战-04-自定义数据源(已更新) -
PyBroker-入门及实战-05-策略回测02(待更新) -
PyBroker-入门及实战-06-策略回测03(待更新) -
PyBroker-入门及实战-07-自定义指标01(已更新) -
PyBroker-入门及实战-08-自定义指标02(已更新) -
更多课程......
课程中提供文档、源码及视频资料方便学习了解,同时利用知识星球的特性,方便讨论交流 PyBroker 框架的相关问题。可以通过访问【数据科学实战】公众号加入本星球。