initial vault sync

This commit is contained in:
冯先生
2026-06-23 00:24:32 +08:00
commit 8e7723c17a
795 changed files with 157458 additions and 0 deletions

View File

@ -0,0 +1,114 @@
#交易 #量化交易 #策略研究 #freqtrade #DeepSeek
以下是为你在Freqtrade中复现经典策略整理的学习路径与策略清单涵盖趋势跟踪、均值回归、套利等主流策略类型。每个策略均提供核心逻辑、实现要点及Freqtrade模块应用建议助你系统性提升策略编码能力。
---
### 📈 **一、趋势跟踪类策略(适用单边行情)​**
1. **双均线交叉策略 (MA Crossover)**
- **核心逻辑**
- 当短期均线如5周期上穿长期均线如20周期时买入下穿时卖出[2,7](@ref)。
- 经典趋势跟随,捕捉中期趋势启动点。
- **Freqtrade实现要点**
- `populate_indicators()`:计算`fast_ma`e.g., `ta.SMA(dataframe, timeperiod=5)`)和`slow_ma`e.g., `ta.SMA(dataframe, timeperiod=20)`[2](@ref)。
- `populate_entry_trend()`:触发条件 `dataframe['fast_ma'] > dataframe['slow_ma']` 且前一根K线为 `fast_ma <= slow_ma`(避免信号闪烁)。
- **优化方向**测试不同周期组合如10/30添加成交量过滤e.g., `dataframe['volume'] > 0`[1](@ref)。
2. **通道突破策略 (Channel Breakout)**
- **核心逻辑**
- 价格突破N日最高点时买入跌破N日最低点时卖出典型参数N=20[7](@ref)。
- **实现要点**
- 计算 `dataframe['high_n'] = dataframe['high'].rolling(window=20).max()`,类似计算最低点。
- 入场:`(dataframe['close'] > dataframe['high_n'].shift(1))`(突破前一日高点)。
- **关键风控**结合ATR动态止损e.g., `stoploss = -2 * dataframe['atr']`[6](@ref)。
---
### 🔄 **二、均值回归类策略(适用震荡行情)​**
1. **RSI超买超卖策略**
- **经典逻辑**
- RSI < 30时买入超卖反弹RSI > 70时卖出超买回调[1,3](@ref)。
- **Freqtrade实现**
- `populate_indicators()`:添加 `dataframe['rsi'] = ta.RSI(dataframe, timeperiod=14)`
- 入场:`(dataframe['rsi'] < 30) & (dataframe['volume'] > 0)`[1](@ref)。
- **进阶改进**增加二次确认如价格站上5日均线或RSI背离检测。
2. **布林带收口策略 (Bollinger Bands Reversion)**
- **核心逻辑**
- 价格触及布林带下轨且收口(带宽缩小)时买入,触及上轨时卖出[6](@ref)。
- **实现要点**
- 计算布林带:`ta.BBANDS(dataframe, timeperiod=20)` 生成上轨、中轨、下轨。
- 入场条件:`(dataframe['close'] < dataframe['lower_band']) & (dataframe['bandwidth'] < threshold)`(带宽=上轨-下轨)。
---
### ⚖️ **三、套利与市场中性策略**
1. **配对交易策略 (Pairs Trading)**
- **核心逻辑**
- 选择强相关交易对如ETH/BTC当价差Spread偏离均值时做多弱势方、做空强势方价差回归时平仓[6,7](@ref)。
- **Freqtrade实现**
- 需自定义价差计算:`spread = dataframe['pair1_close'] - beta * dataframe['pair2_close']`
- 入场:`z_score = (spread - spread.mean()) / spread.std()`,当 `z_score > 2` 时做空价差卖pair1/买pair2
- **关键点**​:需在配置中启用多交易对并动态管理仓位[6](@ref)。
2. **三角套利策略 (Triangular Arbitrage)**
- **核心逻辑**
- 利用三种货币间汇率短暂失衡(如 BTC→ETH→USDT→BTC路径的最终BTC数量 > 初始值)进行瞬时套利[3](@ref)。
- **实现挑战**
- 需高频数据秒级和极低延迟下单Freqtrade需结合WebSocket实时行情。
- 核心代码需在 `populate_entry_trend` 中监控价差并调用交易所API快速执行[3](@ref)。
---
### 🧩 **四、多因子组合策略**
1. **动量+波动率过滤策略**
- **逻辑融合**
- 动量方向N日涨幅 > 阈值e.g., `dataframe['close'].pct_change(10) > 0.05`)。
- 波动过滤ATR低于均值低波动环境入场[6,7](@ref)。
- **实现示例**
```
dataframe['momentum'] = dataframe['close'].pct_change(10)
dataframe['atr_ratio'] = dataframe['atr'] / dataframe['atr'].rolling(50).mean()
entry_signal = (dataframe['momentum'] > 0.05) & (dataframe['atr_ratio'] < 0.8)
```
2. **RSI+MACD双指标策略**
- **组合逻辑**
- RSI < 30超卖且MACD柱状图由负转正动量反转时买入[1,3](@ref)。
- **实现要点**
- 计算MACD`macd = ta.MACD(dataframe)`,关注 `macd['macd'] - macd['signal']`(柱状图)。
- 入场:`(dataframe['rsi'] < 30) & (dataframe['macd_hist'] > 0) & (dataframe['macd_hist'].shift(1) <= 0)`。
---
### ⚙️ **五、策略复现实操建议**
1. **分步骤实现**
- 先完成单一指标策略如纯RSI再逐步叠加过滤条件成交量、波动率[1,3](@ref)。
2. **回测验证要点**
- 使用 `freqtrade backtest` 命令时,指定 `--timerange` 测试不同市场环境(如熊市/牛市)[2](@ref)。
- 分析 `max_drawdown`(最大回撤)和 `profit_factor`(盈利因子),避免过拟合[2,5](@ref)。
3. **可视化调试**
- 用 `freqtrade plot-dataframe` 绘制买卖点与指标曲线,验证逻辑是否符合预期[1,3](@ref)。
---
### 📚 学习资源与下一步
- **官方示例库**​:参考 [Freqtrade 策略示例](https://github.com/freqtrade/freqtrade-strategies) 中的代码结构。
- **经典策略拓展**
- 海龟交易法则ATR通道突破 + 动态仓位)
- 肯特纳通道策略(均线+ATR通道
- MACD柱状图能量策略结合成交量放大信号
> 实践时建议从**单均线策略**开始,逐步过渡到**RSI+均线组合**,最后挑战**配对交易**。每完成一个策略,尝试用不同参数测试其稳健性,并输出回测报告分析优缺点[2,6](@ref)。