- SKILL.md: 加 602315 bypass 章节(三件套 LONGBRIDGE_REGION + proxychains + Clash HK)
- longbridge-python-sdk/SKILL.md: Python SDK 路径同样需要 bypass
- references/longbridge-602315-bypass.md: 完整方案+验证步骤
- references/longbridge-cn-vs-com-endpoint.md: cn vs com 域名区别
- references/clash-node-switching.md: Clash 切香港节点操作
- references/stock-t-trading-workflow.md: 通用持仓脚本用法
- intraday-trading/SKILL.md: 同步 602315 限制说明
- scripts/{daily_t_analysis,t_monitor}.py: 之前漏提交,补上
验证: 2026-07-09 下单 RGTI 15股@15.50 订单ID 1259547163696824320 成功
背景: longport SDK 通过 is_cn() 自动探测 geotest.lbkrs.com 选 cn/com endpoint
net_mode下 cn 域(阿里云深圳)被拒,com 域(AWS香港)需绕
唯一可行: LONGBRIDGE_REGION=ap 强制走 com + proxychains + Clash 香港出口
Co-Authored-By: Claude <noreply@anthropic.com>
112 lines
4.0 KiB
Markdown
112 lines
4.0 KiB
Markdown
# 股票做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等)
|
||
- 到达低吸位自动买入,到达高抛位自动卖出
|
||
- 每个级别每天只交易一次(防重复)
|
||
- 无操作时静默输出
|