如何在Python中按±5%条件提取符合时序的OHLC局部高低点?
OHLC数据局部高低点提取需求及命名疑问
核心需求
我需要在Python中提取OHLC数据中的局部最小值和最大值,需满足以下两个条件:
- 波动幅度要求:相邻高低点之间的波动幅度至少达到±5%(补充示例中为±3%)
- 时序条件:
- 上涨行情(
close > open):low价格需先于high价格出现 - 下跌行情(
close < open):low价格需晚于high价格出现
- 上涨行情(
时序条件说明
- 上涨行情(
close > open):low价格出现在high价格之前 - 下跌行情(
close < open):low价格出现在high价格之后
示例数据与预期结果
基础示例(±5%幅度要求)
OHLC原始数据
open_time open high low close 2023-07-02 0.12800000 0.12800000 0.12090000 0.12390000 2023-07-03 0.12360000 0.13050000 0.12220000 0.12830000 2023-07-04 0.12830000 0.12830000 0.12320000 0.12410000 2023-07-05 0.12410000 0.12530000 0.11800000 0.11980000 2023-07-06 0.11990000 0.12270000 0.11470000 0.11500000
预期输出格式
date1 val1 date2 val2 <---up date2 val2 date3 val3 <---down date3 val3 date4 val4 <---up date4 val4 date5 val5 <---down ...
对应预期结果
2023-07-02 0.1280 2023-07-02 0.1209 -5.55% 2023-07-02 0.1209 2023-07-03 0.1305 7.94% 2023-07-03 0.1305 2023-07-06 0.1147 -12.11%
补充示例(±3%幅度要求)
OHLC原始数据
2022-02-25 38340.4200 39699.0000 38038.4600 39237.0600 2022-02-26 39237.0700 40300.0000 38600.4600 39138.1100 2022-02-27 39138.1100 39881.7700 37027.5500 37714.4300 2022-02-28 37714.4200 44200.0000 37468.2800 43181.2700 2022-03-01 43176.4100 44968.1300 42838.6800 44434.0900
对应预期结果
2022-02-25 38038 2022-02-26 40300 5.95% 2022-02-26 40300 2022-02-26 38600 -4.22% 2022-02-26 38600 2022-02-27 39881 3.32% 2022-02-27 39881 2022-02-27 37027 -7.16% 2022-02-27 37027 2022-02-28 44200 19.37% 2022-02-28 44200 2022-03-01 42838 -3.08%
疑问
请问满足上述规则的OHLC局部高低点提取任务有没有特定的名称?
内容的提问来源于stack exchange,提问作者soo
相关产品推荐
相关产品推荐

