使用 Pandas 和 Matplotlib 开发交易策略
Developing trading strategy using Pandas and Matplotlib
我正在尝试根据以下公式确定看涨点:
Bullish Bar = Today’s Low < Lowest (Low , 13 Days) AND Today’s Close > (((Todays High – Todays Low) / 2) + Today Low)
此外,我想计算给定时间段(比如 2010 年到 2017 年)内一只股票的平均 2 天 returns。例如:
( Close ( Day 2 ) - Open ( Day 1 ) )/ Open ( Day1 )
我正在使用 Pandas 获取数据。这是数据框的样子:
Date Close High Low Open Volume
Symbol
SPY 2010-01-01 111.44 112.8000 111.3900 112.77 0
SPY 2010-01-04 113.33 113.3900 111.5100 112.37 118944600
SPY 2010-01-05 113.63 113.6800 112.8500 113.26 111579900
我的 objective 是创建一个单独的列,其中在日期旁边指示看涨点,以便我可以用绿色箭头绘制它。
目前,我正在将所有内容转换为列表,并使用列表的索引来计算 returns;但是,这很乏味。
有没有办法以更简单的方式完成这项工作?
如果您的数据框名为 df,并且您希望结果位于新列中 Return,可以用下面的代码计算出return:
df['Return'] = (df.Close.shift(2) - df.Open.shift(1)) / df.Open.shift(1)
要计算看涨信号,您可以使用以下方法:
df['bullishSignal'] = (df.Low < df.Low.shift(1).rolling(13).min()) &
(df.Close > ((df.High - df.Low) / 2 + df.Low))
我正在尝试根据以下公式确定看涨点:
Bullish Bar = Today’s Low < Lowest (Low , 13 Days) AND Today’s Close > (((Todays High – Todays Low) / 2) + Today Low)
此外,我想计算给定时间段(比如 2010 年到 2017 年)内一只股票的平均 2 天 returns。例如:
( Close ( Day 2 ) - Open ( Day 1 ) )/ Open ( Day1 )
我正在使用 Pandas 获取数据。这是数据框的样子:
Date Close High Low Open Volume
Symbol
SPY 2010-01-01 111.44 112.8000 111.3900 112.77 0
SPY 2010-01-04 113.33 113.3900 111.5100 112.37 118944600
SPY 2010-01-05 113.63 113.6800 112.8500 113.26 111579900
我的 objective 是创建一个单独的列,其中在日期旁边指示看涨点,以便我可以用绿色箭头绘制它。
目前,我正在将所有内容转换为列表,并使用列表的索引来计算 returns;但是,这很乏味。
有没有办法以更简单的方式完成这项工作?
如果您的数据框名为 df,并且您希望结果位于新列中 Return,可以用下面的代码计算出return:
df['Return'] = (df.Close.shift(2) - df.Open.shift(1)) / df.Open.shift(1)
要计算看涨信号,您可以使用以下方法:
df['bullishSignal'] = (df.Low < df.Low.shift(1).rolling(13).min()) &
(df.Close > ((df.High - df.Low) / 2 + df.Low))