金融量化AI研究--Claude, Python

这里用来记录一些本人运用Claude编程的心得或笔记

导航

pybroker量化应用

中文:https://www.pybroker.com/zh-cn/latest/

from pybroker import Strategy, StrategyConfig
config = StrategyConfig(initial_cash=INITIAL_CASH)
其中,config的值为:StrategyConfig(initial_cash=100000, fee_mode=None, fee_amount=0, subtract_fees=False, enable_fractional_shares=False, round_fill_price=True, position_mode=<PositionMode.DEFAULT: 'default'>, max_long_positions=None, max_short_positions=None, buy_delay=1, sell_delay=1, bootstrap_samples=10000, bootstrap_sample_size=1000, exit_on_last_bar=False, exit_cover_fill_price=<PriceType.MIDDLE: 'middle'>, exit_sell_fill_price=<PriceType.MIDDLE: 'middle'>, bars_per_year=None, return_signals=False, return_stops=False, round_test_result=True)

config值其中的含义:
参考:https://www.pybroker.com/en/latest/reference/pybroker.config.html#pybroker.config.StrategyConfig

StrategyConfig 是 PyBroker 框架中用于配置策略运行参数的核心类,你列出的这些参数用于定义策略的初始条件、交易规则、费用计算方式等关键行为。以下是各参数的具体含义:
核心基础参数
initial_cash=100000
策略初始资金量(默认为 100000),即回测或实盘开始时的可用现金。
fee_mode=None
交易费用模式,用于指定手续费计算方式:
None:不计算手续费(默认)。
可选值如 FeeMode.PERCENT(按交易额百分比收费)、FeeMode.FIXED(固定费用)等,需配合 fee_amount 使用。
fee_amount=0
交易费用具体数值:
若 fee_mode=FeeMode.PERCENT,则表示费率(如 0.001 代表 0.1%)。
若 fee_mode=FeeMode.FIXED,则表示每笔固定费用(如 5 代表每笔 5 元)。
subtract_fees=False
是否从策略资金中扣除手续费:
False(默认):手续费不影响实际资金(仅用于计算净值)。
True:手续费从可用现金中实时扣除,影响后续交易能力。
交易规则参数
enable_fractional_shares=False
是否允许交易 fractional shares(碎股):
False(默认):只能交易整数股。
True:允许交易不足 1 股的份额(如 0.5 股)。
round_fill_price=True
是否对成交价格进行四舍五入:
True(默认):按市场最小价格单位(如股票的分)取整。
False:保留原始精确价格。
position_mode=<PositionMode.DEFAULT: 'default'>
持仓模式,控制多空交易规则:
PositionMode.DEFAULT(默认):允许做多,不允许做空。
其他可选值(如 PositionMode.SHORT)可能允许做空(需框架支持)。
max_long_positions=None
最大多头持仓数量限制:
None(默认):无限制。
设为整数(如 10):最多同时持有 10 个多头仓位。
max_short_positions=None
最大空头持仓数量限制(同多头逻辑,默认无限制)。
订单执行参数
buy_delay=1
买入订单的延迟执行时间(单位:bar,即 K 线周期):
1(默认):在发出买入信号的下一根 bar 执行。
可设为 0(当前 bar 执行)或更大数值(延迟更久)。
sell_delay=1
卖出订单的延迟执行时间(同买入逻辑,默认下一根 bar 执行)。
exit_cover_fill_price=<PriceType.MIDDLE: 'middle'>
平仓(回补空头)时的成交价格类型:
PriceType.MIDDLE(默认):按该 bar 的中间价((最高价 + 最低价)/2)成交。
其他可选值如 PriceType.OPEN(开盘价)、PriceType.CLOSE(收盘价)等。
exit_sell_fill_price=<PriceType.MIDDLE: 'middle'>
卖出(平多头)时的成交价格类型(同平仓逻辑)。
回测优化参数
bootstrap_samples=10000
bootstrap 抽样的次数(用于策略稳健性检验):
通过多次随机抽样历史数据,测试策略在不同行情片段中的表现,默认 10000 次。
bootstrap_sample_size=1000
每次 bootstrap 抽样的样本量(单位:bar),默认 1000 根 K 线。
bars_per_year=None
每年的交易 bar 数量(用于计算年化收益):
None(默认):框架自动根据数据周期计算(如日线默认 252 个交易日)。
输出控制参数
exit_on_last_bar=False
是否在最后一根 bar 强制平仓:
False(默认):最后一根 bar 结束时保持持仓。
True:在回测结束前自动平掉所有仓位。
return_signals=False
是否返回策略产生的交易信号(如买入 / 卖出信号的时间点):
False(默认):不返回,仅输出业绩结果。
True:额外返回信号数据,便于分析。
return_stops=False
是否返回止损 / 止盈信号的触发记录(同信号逻辑,默认不返回)。
round_test_result=True
是否对回测结果(如收益、净值)进行四舍五入:
True(默认):结果保留指定小数位数(通常 2 位)。
False:保留原始精确值。
这些参数共同定义了策略的运行规则,通过调整它们可以模拟不同的交易环境(如手续费规则、持仓限制、成交价格模式等),使回测结果更贴近实际场景。

posted on 2025-08-08 18:17  chengjon  阅读(177)  评论(0)    收藏  举报