Python/Pandas calculate Ichimoku chart components

前端 未结 6 921
闹比i
闹比i 2021-02-03 15:02

I have Pandas DataFrame object with Date, Open, Close, Low and High daily stock data. I want to calculate components of Ichimoku chart. I can get my data using the following cod

6条回答
  •  一个人的身影
    2021-02-03 15:55

    high_9 = pd.rolling_max(df.high, window= 9)
    low_9 =  pd.rolling_min(df.low, window= 9)
    df['conversion_line'] = (high_9 + low_9) /2
    
    high_26 = pd.rolling_max(df.high, window= 26)
    low_26 = pd.rolling_min(df.low, window= 26)
    df['base_line'] = (high_26 + low_26) / 2
    
    df['leading_span_A'] = ((df.conversion_line + df.base_line) / 2).shift(30)
    
    high_52 = pd.rolling_max(df.high, window= 52)
    low_52 = pd.rolling_min(df.high, window= 52)
    df['leading_span_B'] = ((high_52 + low_52) / 2).shift(30)
    
    df['lagging_span'] = df.close.shift(-30)
    
    fig,ax = plt.subplots(1,1,sharex=True,figsize = (20,9)) #share x axis and set a figure size
    ax.plot(df.index, df.close,linewidth=4) # plot Close with index on x-axis with a line thickness of 4
    
    
    # use the fill_between call of ax object to specify where to fill the chosen color
    # pay attention to the conditions specified in the fill_between call
    ax.fill_between(df.index,leading_span_A,df.leading_span_B,where = df.leading_span_A >= df.leading_span_B, color = 'lightgreen')
    ax.fill_between(df.index,df.leading_span_A,df.leading_span_B,where = leading_span_A < df.leading_span_B, color = 'lightcoral')
    

提交回复
热议问题