9.24工作笔记
filter_list的用法
- 在before_filter函数中用到,过滤了filter因子排名前80%的数据
保温杯4
- 采用纯多和中性轮动的策略
dpo
DPO(区间震荡线)计算公式
公式:
[
\text{DPO} = \text{CLOSE} - \text{REF}(\text{MA}(\text{CLOSE}, N), \frac{N}{2} + 1)
]
其中:
- CLOSE:当前的收盘价
- MA(CLOSE, N):收盘价的N日移动平均
- REF(值, 偏移):表示将值向前偏移指定的周期
示例计算
假设我们有以下收盘价数据(N=20):
日期 | 收盘价 |
---|---|
Day 1 | 10 |
Day 2 | 11 |
Day 3 | 12 |
Day 4 | 11.5 |
Day 5 | 12.5 |
Day 6 | 13 |
Day 7 | 14 |
Day 8 | 15 |
Day 9 | 14.5 |
Day 10 | 16 |
Day 11 | 17 |
Day 12 | 18 |
Day 13 | 19 |
Day 14 | 18 |
Day 15 | 20 |
Day 16 | 21 |
Day 17 | 22 |
Day 18 | 23 |
Day 19 | 24 |
Day 20 | 25 |
计算步骤
-
计算20日移动平均(以Day 20为例):
[
\text{MA}(\text{CLOSE}, 20) = \frac{10 + 11 + 12 + 11.5 + 12.5 + 13 + 14 + 15 + 14.5 + 16 + 17 + 18 + 19 + 18 + 20 + 21 + 22 + 23 + 24 + 25}{20} = 18.075
] -
计算偏移值:
[
\text{偏移} = \frac{20}{2} + 1 = 11
]- 这意味着我们需要在20日移动平均上向前偏移11天。
-
查找对应的MA值:
- Day 9的MA值(Day 20的MA需要Day 9的收盘价作为参考):
- 因为我们只有前20天的数据,Day 9的MA为:
[
\text{MA}(\text{CLOSE}, 20)_{Day 9} = \frac{10 + 11 + 12 + 11.5 + 12.5 + 13 + 14 + 15 + 14.5}{20} = 12.5
]
-
计算DPO:
- Day 20的DPO:
[
\text{DPO} = 25 - 12.5 = 12.5
]
- Day 20的DPO:
结果解释
- 如果DPO > 0(在此例中为12.5),则表明当前市场处于多头状态。
- 交易信号:
- 买入信号:如果DPO上穿0线
- 卖出信号:如果DPO下穿0线
这个例子展示了如何根据收盘价计算DPO并分析市场趋势。你还有其他问题或者需要更深入的例子吗?