BSE 混合交易员 是做什么的?
一个解耦的印度股票和衍生品交易智能与执行技能。LLM 负责进行概率性的技术和市场结构推理(nse-trading-skills 综合),而确定的 Python 脚本则强制执行 INR 头寸规模、精确的券商佣金和印度法定税费计算、10,000 条路径的蒙特卡洛模拟,以及多券商纸面/实盘执行门控(day-trader-skill 架构)。
支持的印度券商
通过 --broker <名称> 选择任意券商(或在 trading_rules.json 中设置 "default_broker"):
angel_one— Angel One SmartAPI(--broker angel_one,默认)zerodha— Zerodha Kite Connect v3(--broker zerodha/ 别名kite)upstox— Upstox API v3(--broker upstox)dhan— DhanHQ API v2(--broker dhan)fyers— Fyers API v3(--broker fyers)groww— Groww Trading API v1(--broker groww)kotak_neo— Kotak Neo Trade API(--broker kotak_neo/ 别名kotak)icici_breeze— ICICI Direct Breeze API v1(--broker icici_breeze/ 别名breeze)shoonya— Finvasia Shoonya Noren API(--broker shoonya/ 别名finvasia)
随时使用以下命令查看费用概况、端点和所需的 .env 密钥:
python .agents/skills/nse-bse-hybrid-trader/scripts/broker_bridge.py brokers
配置与参考
- 默认参数、券商费用概况和税费计划:trading_rules.json
- NSE/BSE 节假日日历:nse_holidays.json
- 技术框架(三屏大法、共识评分 0-6、RSI 背离、斐波那契、混合追踪): technical_frameworks.md
- 印度监管规则及多券商 API/产品矩阵: indian_market_rules.md
核心 5 步操作流水线
切勿依赖于心算进行头寸规模、税费抵扣或概率估计。请从 .agents/skills/nse-bse-hybrid-trader/ 目录运行以下序列(或从工作区根目录传递脚本路径):
第 1 步和第 2 步:印度市场结构与多时间框架共识
运行 nse_data_loader.py 获取实时的 NSE/BSE 5m、1d 和 1wk 数据,并计算 EMA 20/50/200、PDH/PDL/PDC、15m 开盘区间(ORH/ORL)、锚定日内 VWAP、RSI(14) + 背离、MACD、ADX、布林带、ATR(14)、斐波那契回撤/扩展、RVOL 以及 0-6 共识评分:
python .agents/skills/nse-bse-hybrid-trader/scripts/nse_data_loader.py --symbol "<TICKER>" --json
应用 indian_market_rules.md 中的护栏和 technical_frameworks.md 中的框架:
- IST 时间限制: 仅观察
09:00-09:15(盘前)和09:15-09:30(开盘区间)。日内主要执行时段为09:30-14:30 IST。14:30 IST后禁止新的日内进场;15:10 IST前平掉所有日内持仓。 - 监管检查: 验证涨跌停区间(
2%/5%/10%/20%)、SEBIASM/GSM状态、NSEF&O 禁入(>95% MWPL)以及到期日的伽马风险。已知时传参--fno-ban、--asm-gsm、--circuit-band或--delivery-pct。 - 坐标: 建立具体的进场点
entry、结构性止损stop_loss(失效点加 ATR 缓冲,以Rs. 0.05为单位舍入)、目标一target_1(>= 1.5 净风险回报比)和目标二target_2。跳过共识评分< 3/6的策略。
第 3 步:日内/波段时光机 (nse_timemachine.py)
基于该股票近期 60 天的 5m 日内数据(严格截断至 15:15 IST,保守的止损优先检查,1-tick 滑点)或 2 年日线数据池(--mode SWING),再加上历史 15m ORB 回放,将交易坐标放在 10,000 条自助法路径上进行测试(传参 --broker <BROKER> 以模拟特定券商的费用影响):
python .agents/skills/nse-bse-hybrid-trader/scripts/nse_timemachine.py --symbol "<TICKER>.NS" --entry <ENTRY> --stop <STOP> --target <TARGET_1> --mode <INTRADAY|SWING> --broker <BROKER> --write --json
- 门禁要求: 要求正的经税费调整后的期望值(
avg_net_r > 0),同时满足 trading_rules.json 中的活跃概率阈值:r_breakeven(默认):target_first_resolved_pct >= (1 + tax_drag_r) / (1 + R)— 扣除印度费用后,基于实际 R 值调整后的优势。strict_55(通过--gate-mode strict_55覆盖):target_first_resolved_pct >= 55%— 超高的胜率过滤。- 两个阈值会同时报告;如果活跃门禁返回
NO-TRADE,立即降级该策略。
第 4 步:确定性风险、券商费用和税费门禁 (indian_risk_gate.py)
计算精确的 INR 股数/手数规模、特定券商的佣金(例如,Zerodha/Dhan/Shoonya 的持仓过户费用为零,Kotak Neo 为每单 10 卢比,Angel One/Groww/ICICI Breeze 为百分比或上限计划)、法定摩擦成本(2026 年 STT 费率、NSE 交易费、SEBI 规费、印花税、DP 费用、18% GST),并验证所有硬性断路器:
python .agents/skills/nse-bse-hybrid-trader/scripts/indian_risk_gate.py --broker <BROKER> --symbol "<TICKER>" --capital <CAPITAL_INR> --risk-pct <RISK_PCT> --entry <ENTRY> --stop <STOP> --target <TARGET_1> --segment <EQ_INTRADAY|EQ_DELIVERY|FNO_FUT|FNO_OPT> --timemachine-json .agents/skills/nse-bse-hybrid-trader/state/timemachine_result.json --write --json
- 硬性断路器: 默认每笔交易最大风险
1.0%(2.0%为硬上限),包含税费的头寸规模计算,最低净风险回报比>= 1.5,最大日回撤3.0%(根据 SQLite 纸面账本自动检查),精确的整股/期货期权手数舍入,IST 时段锁定,以及涨跌停/禁入检查。 - 切勿覆盖
BLOCK裁决。
第 5 步:多券商订单暂存与纸面/实盘调度 (broker_bridge.py)
仅在第 3 步和第 4 步都返回 PASS 之后执行:
-
(可选,每个券商每天一次) 将工具主数据同步到本地 SQLite(
<2ms符号/代币/手数大小查询 — 支持.json、.json.gz和.csv):python .agents/skills/nse-bse-hybrid-trader/scripts/broker_bridge.py sync-scrip --broker <BROKER>(使用
--offline <path>传入自定义/导出的 CSV 或 JSON 主数据,例如 Kotak Neo / ICICI Breeze / Shoonya。) -
纸面账本(默认): 使用验证过的风险指纹、券商原生载荷和模拟
Rs. 0.05tick 滑点进行暂存:python .agents/skills/nse-bse-hybrid-trader/scripts/broker_bridge.py stage --broker <BROKER> --symbol "<TICKER>" --segment <SEGMENT> --entry <ENTRY> --stop <STOP> --target <TARGET_1> --risk-json .agents/skills/nse-bse-hybrid-trader/state/risk_verdict.json --paper -
实时多券商调度(
--live): 要求处于开放的 IST 执行窗口,已解析的代币(适用于angel_one、upstox、dhan或任何期货期权合约),.env中的券商凭证(使用brokers子命令检查),并显式确认--live --confirm "CONFIRM LIVE"。- smartapi_bridge.py 仍然是一个完全向后兼容的别名,默认为
angel_one。
- smartapi_bridge.py 仍然是一个完全向后兼容的别名,默认为
要求的输出格式
始终以以下 4 个区块的结构呈现最终交易分析:
- 市场与监管背景: 股票代码、券商、交易板块、IST 阶段、涨跌停/ASM/F&O 禁入状态、大趋势倾向、RVOL 和交割百分比说明。
- 技术策略矩阵: 进场点、止损、目标一、目标二(
Rs. 0.05tick 对齐)、共识评分(X/6)以及精确触发条件(VWAP、15m ORH/ORL、斐波那契点位、RSI 背离、PDH/PDL)。 - 时光机与经税费调整的风险门禁: 头寸规模(股数/手数)、所需保证金、券商费用 + 法定费用及盈亏平衡点变动(INR)、税费后净风险回报比、蒙特卡洛目标优先命中率与净期望值,以及门禁裁决(
PASS/BLOCK)。 - 可执行的交易单: 立即可运行的
broker_bridge.pyCLI 命令和券商原生 JSON/表单负载。
该技能从不执行的操作
- 从不自动或通过定时/后台运行下达实盘订单(
--paper始终是默认模式)。 - 从不覆盖来自
indian_risk_gate.py的BLOCK裁决或来自nse_timemachine.py的NO-TRADE裁决。 - 绝不在聊天中询问、存储或回显券商 API 密钥、MPIN 或 TOTP 密码(密钥保存在本地
.env中)。 - 绝不相信赖于心算进行 INR 头寸规模、法定税费或胜率估计。
- 绝不将历史的时光机模拟或止损水平视为保证的成交或预测。
安全、代码审查与风险免责声明
- 交易风险自负 — 作者不承担任何责任: 仅作为教育和自动化工具使用,并非 SEBI 注册的投资、金融或税务建议。您对任何交易、错误、API 错误、滑点、涨跌停冻结或财务损失承担 100% 的责任。
- 在运行前审查每一个文件: 在实盘执行前检查
config/trading_rules.json(佣金/STT/GST 费率)、config/nse_holidays.json(交易所假日)和scripts/broker_bridge.py。请注意,_strip_attached_fields()会在非 ROBO/非 BO 的实盘订单上剥离attached_stoploss_trigger和attached_target_price,因此使用非支架订单模式的交易者必须在其券商终端上单独设置并验证止损/止盈/GTT 订单。 - 非官方数据免责声明: 内置的实时 K 线使用 Yahoo Finance 的免费非官方图表端点(5m/1d/1wk),可能存在延迟、速率限制或遗漏公司行为。在采取行动前,请直接通过您的券商验证实时报价。