# 股票做T分析工作流 ## 概述 分析持仓股票的做T(日内高抛低吸)机会,基于技术指标+性价比评级。 ## 核心脚本 `~/.hermes/scripts/daily_t_analysis.py` — 自动获取持仓→计算技术指标→生成做T方案→推QQ ### 定时任务 - ID: `cb187ab5f9fc` (daily-t-analysis) - 时间: 周一~五 北京时间 9:00 (EDT 21:00, cron `0 21 * * 0-4`) - 推送: QQ私信 - 模式: no_agent(脚本直接输出,不经agent) ## 技术指标 - **SMA(5/10/20)**: 趋势判断(多头/空头/偏多/偏弱) - **ATR(14)**: 波动率,决定做T空间和止损距离 - **支撑/阻力**: 近5日最低/最高价 ## 做T方案计算 - **低吸价**: min(支撑, SMA20) + ATR×0.2 - **高抛价**: max(阻力, SMA10) - ATR×0.2 - **止损价**: 现价 - ATR×1.5 - **做T数量**: 可用持仓×20%,向下取整到每手 ## 性价比评级 | 评级 | 条件 | |------|------| | ⭐⭐⭐ 高 | 盈亏比≥3 + 收益率≥1.5% | | ⭐⭐ 中 | 盈亏比≥2 + 收益率≥1% | | ⭐ 低 | 盈亏比≥1.5 + 收益率≥0.5% | | ❌ 不建议 | 盈亏比<1.5 或 收益率<0.5% | ## 手续费计算 ### 港股(精确到分) ```python def calc_hk_fee(amount): commission = max(3, amount * 0.0003) # 佣金min HKD3 stamp = math.ceil(amount * 0.001) # 印花税0.1%向上取整 levy = amount * 0.0000278 # SFC征费 trading_fee = amount * 0.0000565 # 交易所费 settle = max(2, min(100, amount * 0.00002)) # CCASS交收费 return commission + stamp + levy + trading_fee + settle ``` ### 美股(几乎免费) ```python def calc_us_fee(amount, qty): sec_fee = amount * 0.0000278 # SEC fee (sell only) finra = max(0.01, qty * 0.000166) # FINRA TAF return sec_fee + finra ``` ## 每手股数 用 `quote_ctx.static_info([symbols])` 获取 `lot_size`: - US stocks: 通常1股/手 - HK stocks: 因股而异(如3416.HK=500股/手) ## Pitfalls - **手续费必须按本币**: 港股HKD、美股USD,不能混用 - **做T数量必须按手取整**: HK lot_size通过`static_info()`获取,向下取整到lot的整数倍 - **LongPort token用Python SDK**: CLI会被terminal工具mask token,用`openapi.Config.from_env()` + bashrc读取 - **港股印花税向上取整**: `math.ceil(amount * 0.001)` - **佣金有最低**: 港股佣金min HKD3 - **做T方向**: 低吸高抛(跌到支撑买,涨到阻力卖),不是随便市价卖 - **手续费影响性价比**: 港股双边0.28%会显著侵蚀利润,评级会因此降低 ## OKX条件单做T(替代方案) OKX有trigger条件单,价格到自动触发下单,比cron轮询更快更准: ```python # 低吸:价格跌到目标位自动买入(用trigger不是conditional) resp = okx_post('/api/v5/trade/order-algo', { "instId": "ETH-USDT-SWAP", "tdMode": "cross", "side": "buy", "ordType": "trigger", # 用trigger不是conditional "sz": "4", "triggerPx": "1770", # 触发价 "triggerPxType": "last", # last=最新价 "orderPx": "-1", # 参数名是orderPx不是ordPx }) # 高抛:价格涨到目标位自动卖出 resp = okx_post('/api/v5/trade/order-algo', { "instId": "ETH-USDT-SWAP", "tdMode": "cross", "side": "sell", "ordType": "trigger", "sz": "4", "triggerPx": "1787", "triggerPxType": "last", "orderPx": "-1", # 不加reduceOnly(trigger不支持) }) ``` **⚠️ 关键Pitfalls:** - 参数名是`orderPx`不是`ordPx`(报错50014) - `reduceOnly`不支持trigger订单(报错51205) - `conditional`的SL触发价不能低于当前价(做T低吸必须用trigger) - 触发后自动市价成交,不是纯提醒 详见 `okx-auto-position` 技能的 `references/okx-trigger-orders.md` ## 价格监控脚本 `t_monitor.py` — 每15分钟检查持仓价格,接近关键位时自动执行做T: - 监控OKX持仓(ETH/BTC等)+ 长桥持仓(UNH/RGTI/3416.HK等) - 到达低吸位自动买入,到达高抛位自动卖出 - 每个级别每天只交易一次(防重复) - 无操作时静默输出