handsomejustin80's recent timeline updates
handsomejustin80

handsomejustin80

V2EX member #572306, joined on 2022-02-09 23:15:14 +08:00
handsomejustin80's recent replies
@shuqin2333 技术分析之类的可以用 easy-tdx 有缠论分析
@Yosomi 欢迎题出宝贵意见
@lunare 在原有 pytdx 这个逆向项目增加了不少接口。 基本上你不需要维护。
更新一下,距离上次发帖又肝了不少东西。

1. 内置回测引擎

写个 Python 策略文件继承 Strategy 基类,init() 里注册指标,next() 里写买卖逻辑,一行命令跑回测,引擎帮你搞定订单模拟、持仓跟踪、绩效分析。自带 15 个经典策略(双均线、MACD 、布林突破、海龟、捉妖大师共振……),不需要从零开始写。

easy-tdx backtest SZ 300308 --strategy-file strategies/expma_cross.py --count 2000 --adjust QFQ --table

不想一个个跑? run_all_strategies.py 一键跑完全部策略按收益排名,加 --show 弹出资金曲线对比图,买卖点标在图上。

2. 多因子组合回测

单因子策略再强也有盲区。这次加了组合回测,自动遍历所有 2 因子 / 3 因子组合,找到最优搭配。三种信号合并模式:AND (全部同意才动手,保守)、OR (有一个说买就买,激进)、MAJORITY (过半同意才触发,推荐)。

python run_all_strategies.py SZ 300308 --combo 2 --combo 3 --combo-mode majority

跑完给你一张排名表,哪个组合收益最高、回撤最小直接看。Python API 也一样能调,CombinationRunner 几行代码搞定。

原理不复杂:每个因子的买卖信号只提取一次存成遮罩,组合阶段就是 numpy 数组运算,15 个策略遍历 560 种组合,几十秒出结果。

3. 其他

- 修复了 MyTT 里 MFI / CR 指标分母为零的 RuntimeWarning
- 缠论模块修了一个持续趋势中笔丢失的 bug (分型陷阱)
- 离线数据同步现在支持写入扩展市场日线和分钟线

代码 ruff + mypy strict ,328 个测试全过。

欢迎提 PR 、Fork 拿去改、Star 帮忙扩散。策略不够自己写一个 30 行搞定,指标不够加个函数注册进去就行。

GitHub: https://github.com/handsomejustin/easy-tdx
@kuhung 数据源来自于通达信。质量很高
@iorilu 是的,这是一个非常靠谱的方法。tushare 因为要收费,akshare 的东财接口反爬很严重,所以才促使我用通达信获取数据。稳定,可靠,免费。
@nexmoe 你也可以用 Claude Code 把他改为 sqlite 方式。这样就不用启用数据库了。
更新了一个自创的技术指标,具体如下:
# 捉妖大师 (ZHUOYAO) 技术指标

## 指标定义

多周期涨幅共振指标,通过 20/60/120 日涨幅百分比及指数平滑,判断短中长线趋势是否同向。

```
长线 1 = (C / REF(C,120) - 1) × 100 # 120 日涨幅(%)
长线 = EXPMA(长线 1, 10) # 长线的 10 日指数平滑
中线 = (C / REF(C,60) - 1) × 100 # 60 日涨幅(%)
短线 = (C / REF(C,20) - 1) × 100 # 20 日涨幅(%)
趋势 = EXPMA(中线, 10) # 中线的 10 日指数平滑
```

返回 `(长线, 中线, 短线, 趋势)` 四条线,均以零轴为多空分界。

## 调用方式

```python
from easy_tdx.MyTT import ZHUOYAO

# close: numpy 数组,至少 120+ 个数据点
LONG, MID, SHORT, TREND = ZHUOYAO(close)

# 自定义周期
LONG, MID, SHORT, TREND = ZHUOYAO(close, N1=120, N2=60, N3=20, M=10)
```

参数说明:

| 参数 | 默认值 | 含义 |
|------|--------|------|
| N1 | 120 | 长线回望周期 |
| N2 | 60 | 中线回望周期 |
| N3 | 20 | 短线回望周期 |
| M | 10 | EXPMA 平滑周期 |

## 核心逻辑

本质是 **多时间框架 ROC (Rate of Change) 共振系统**:

- **短线** = ROC(20):捕捉 20 日内的短期动量方向
- **中线** = ROC(60):反映季度级别的中期趋势强度
- **长线** = EMA(ROC(120), 10):半年级别的长线趋势,经过平滑降噪
- **趋势** = EMA(ROC(60), 10):中线的平滑版本,用于过滤中线噪音

零轴是所有线的多空分界线:正值 = 该周期内上涨,负值 = 该周期内下跌。

## 交易信号

### 1. 多线共振(核心信号)

| 状态 | 条件 | 含义 |
|------|------|------|
| 全线多头 | 四线 > 0 ,且 短线 > 中线 > 长线 | 短中长趋势完全一致向上,强势股特征 |
| 全线空头 | 四线 < 0 ,且 短线 < 中线 < 长线 | 各周期同步下跌,应回避 |
| 多空分歧 | 线的方向不一致 | 趋势不明,等待收敛 |

### 2. 穿越信号

- **短线穿越零轴**:20 日动量反转,短线进场或离场信号
- **中线穿越趋势**:ROC(60) 与其平滑线金叉/死叉,中期趋势转向确认
- **长线拐头**:长线从下降转为上升,大级别底部信号

### 3. "捉妖"条件(强势股筛选)

同时满足以下条件时,可能是趋势刚启动的强势股:

1. 短线 > 0 (短期动量向上)
2. 中线 > 0 (中期趋势向上)
3. 长线从负转正或即将转正(长线趋势刚反转)
4. 短线 > 中线 > 趋势(动量加速,不是减速)

### 4. 风险信号

- 短线远高于中线(乖离过大):短期过热,有回调风险
- 中线 > 0 但趋势 < 0:中期反弹但平滑趋势未确认,可能是假突破
- 四线同时从高位回落:多周期共振见顶

## 注意事项

- 前置数据不足时(< N1=120 根 K 线),长线值为 NaN ,属于正常现象
- 指标是价格幅度的度量,不直接产生买卖信号,需结合成交量、K 线形态综合判断
- "妖股"往往波动剧烈,共振信号出现后也可能快速消失,不宜单独作为唯一依据
@tianjiyao 又要注册,又是积分的,兄弟,还是算了。 我这个是开源的,支持 CLI 模式,直接挂 Agent 上,可以跑 SKILLS 的。
现在已支持 MacOS 下播放。
About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3386 Online   Highest 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 29ms · UTC 11:33 · PVG 19:33 · LAX 04:33 · JFK 07:33
♥ Do have faith in what you're doing.