擅长:python、mysql、java
<p>步骤1:实现一个滚动最小值,有101个周期(从当前点开始向上50个周期,向下50个周期)。你知道吗</p>
<p>步骤2:将这些最小值向下移动50,使其居中。你知道吗</p>
<p>步骤3:将体积与移动的最小值进行比较。如果他们匹配,那么这应该是在您的窗口内的最低量的价格。你知道吗</p>
<p>步骤4:筛选匹配项。你知道吗</p>
<p>第五步:享受额外的几分钟空闲时间!你知道吗</p>
<pre><code>import pandas as pd
import bumpy as np
df = pd.DataFrame({'price': range(1000),
'volume': np.random.random_integers(0, 500000, 1000)})
df['min_volume'] = pd.rolling_min(df.volume, 101)
df['min_shift'] = df['min_volume'].shift(-50)
df['match'] = df.volume == df.min_shift
>>> df[df.match]
Out[39]:
price volume min min_shift match
181 181 4317 4317 4317 True
245 245 4478 4317 4478 True
358 358 1118 1118 1118 True
427 427 7251 1118 7251 True
504 504 10680 7251 10680 True
631 631 1096 1096 1096 True
699 699 277 277 277 True
770 770 2037 277 2037 True
828 828 310 310 310 True
931 931 516 516 516 True
</code></pre>
<p>要获得价格:</p>
<pre><code>df[df.match].price
</code></pre>