สร้าง RSI ดู Momentum ราคา Bitcoin ถึงเวลาซื้อแล้วหรือยัง ?

Investic
investic
Published in
2 min readJan 26, 2022

RSI คือ indicator ยอดนิยมสำหรับสาย Technical Analysis เป็นเครื่องมือที่ช่วยดู Momentum ของสินทรัพย์ในแต่ละช่วงเวลา

สูตรการคำนวณ RSI

RSI = 100–100/(1+RS)

ตัว RS คือ Average Gain หรือ Average Loss คือตัวเลขที่บอกว่ามี

def rsi_func(df, days=14,lower=30,upper=70):    chg = df['Close'].diff(1)
gain = chg.mask(chg<0,0) #if chg < 0 then value = 0 loss = chg.mask(chg>0,0) #if chg > 0 then value = 0 avg_gain = gain.rolling(days).mean() #by default min_periods = window avg_loss = abs(loss.rolling(days).mean()) #by default min_periods = window rs = avg_gain/avg_loss rsi = 100 - (100/(1+rs)) df['rsi'] = rsi
#Find action zone
df.loc[(df['rsi'] > upper), 'action'] = 'sell'
df.loc[(df['rsi'] < lower), 'action'] = 'buy' df.loc[df['action'] == 'buy', 'marker_position'] = df['Low'] * 0.98 df.loc[df['action'] == 'sell', 'marker_position'] = df['High'] * 1.02 return dfreturn df

แต่เอ๋เคยได้ยินว่ามันมีตัวเลข 14 อยู่นี่เวลาตั้งค่าใน Tradingview หรือในแพลตฟอร์มอื่นๆที่เคยใช้ แล้วแบบนี้ไอเลข 14 ที่ว่ามันอยู่ตรงไหน

จริงๆเลข 14 มันซ่อนอยู่ในตัวของ RS ยังไงหละ ปกติสูตรในการคำนวณคือ ก็คือ Average Gain or Loss = [(Previous Gain * 13) + Current Gain) /14 ถ้าดูสูตรแล้วงง ในตัวคำก็อธิบายอยู่แล้วว่า Average ซึ่งมันคือค่าเฉลี่ยของ Gain กับ Loss และตัวเลข 14 ก็เป็นจำนวนของแท่งเทียนว่าเฉลี่ยกี่แท่ง ซึ่งตัวเลขนี้เราก็ตามใจเราเลย แต่โดยปกติค่าที่ตั้งเป็น Defualt ก็คือ 14 แท่งในระดับ Daily

def rsi_plot(df_plot,lower=30,mid=50,upper=70):    df = rsi_func(df_plot)    df['lower'] = lower    df['upper'] = upper    df['mid'] = mid    rsi_ylim = (0,100)    # for plot rsi    mpf_rsi = mpf.make_addplot(df['rsi'], panel=1, color='blue', title='RSI', ylim=rsi_ylim)    mpf_lower = mpf.make_addplot(df['lower'], panel = 1, color='orange', ylim=rsi_ylim)    mpf_upper = mpf.make_addplot(df['upper'], panel = 1, color='orange', ylim=rsi_ylim)    mpf_mid = mpf.make_addplot(df['mid'], panel = 1, color='gray', ylim=rsi_ylim)    
# for marker
markers = ['^' if x == 'buy' else 'v' for x in df['action']] color_marker = ['green' if x == 'buy' else 'red' for x in df['action']] plot_signal = mpf.make_addplot(df['marker_position'], type='scatter', marker=markers, color=color_marker) plots = [mpf_rsi, mpf_lower, mpf_mid ,mpf_upper, plot_signal] return plots

สิ่งที่ RSI จะบอกได้ก็คือลักษณะของแนวโน้มการซื้อของนักลงทุนกับการขายของนักลงทุนว่ามีมากหรือน้อยอย่างไร สองคำที่เรามักจะได้ยินเสมอๆ จาก RSI คือ Overbought และ Oversold

Overbought คือสภาวะของสินทรัพย์นั้นมีแรงซื้อจำนวนมากซึ่งเราก็มักจะมีเลขมาบอกว่าเท่าไหร่ถึงเรียกว่ามากเกินไป ตัวเลขที่มักนิยมในฝั่ง Overbought คือ 70

มาในส่วนของ Oversold ก็ตรงกันข้ามคือสภาวะของสินทรัพย์นั้นมีแรงขายจำนวนมากซึ่ง ตัวเลขที่มักนิยมในฝั่ง Oversold คือ 30

30 ซื้อ และ 70 ขาย หรอ?

70–30 คือตัวเลขที่คุ้นเคยกันเป็นอย่างดี เนื่องจากมีหลายสำนักมักบอกว่า มากกว่า 70 ให้ขายและน้อยกว่า 30 ให้ซื้อ แต่ในตลาดจริงมันมีอะไรที่มากกว่านั้น หากใครลองทำ Backtest กับ Asset โดยใช้ RSI ก็จะรู้ว่าเละไม่เป็นท่า จริงแนะนำให้ดูเป็นแนวโน้ม Momentum ของตลาดในช่วงนั้นมากกว่าว่าแรงซื้อแรงขายเยอะแค่ไหนเพื่อดูการกลับตัว และใช้ Indicator อื่นๆประกอบด้วย

อีกสิ่งหนึ่งที่ RSI จะบอกได้อีกคือ Divergence

ในสภาวะที่ตลาดขึ้นมาสูงมากๆจะมีสิ่งที่เรียกว่า Divergence เกิดขึ้น เพื่อเป็นสัญญาณบอกการว่าสินทรัพย์ตัวนั้นๆมีโอกาสกลับตัวเนื่องจากแรงซื้อค่อยๆน้อยลงแต่ราคากลับสูงขึ้นเรื่อยๆ หรือราคาสินทรัพย์นั้นไหลลงเรื่อยๆแต่แรงขายนั้นไม่ได้เพิ่มตามราคาที่ไหลลง แสดงให้เห็นว่าตลาดมีแนวโน้มกลับตัว แต่ถามว่า Divergence ใช้ได้ทุกครั้งไหม ตอบตรงนี้เลยว่าไม่ เพราะบางทีเกิดเหตุการณ์บางอย่างทำให้แรงซื้อหรือแรงขายกลับมาเยอะแล้วทำลาย Divergence นั้นก็มีอยู่บ่อย

แล้วใช้อะไรดี ?

สิ่งที่นักลงทุนหรือเทรดเดอร์ทั้งหลายควรมีคือ framework การลงทุนของตัวเอง เช่นการเลือกสินทรัพย์ที่คิดว่าใช่และพื้นฐานดี การกล้าตั้ง Stop Loss และ Take Profit และอีกสิ่งหนึ่งที่สำคัญเลยคือ Money Management

ในช่วงที่ราคาไหลลงแบบนี้ถ้าหุ้นหรือเหรียญที่พื้นฐานค่อนข้างดีก็อาจจะไม่ได้ลงเยอะตามตัวอื่นๆ ต่อมาการตั้ง stop loss ก็จะช่วยลดการขนาดทุนของเราได้และพอร์ตของเราก็อาจจะไม่แดงเท่าทุกวันนี้ และส่วนสุดท้ายคือ Money Management ในช่วงที่ราคายังลงต่อเนื่องหลายๆก็จะพยายามช้อนซื้อซึ่ง Money Management คือสิ่งที่จำเป็นมากอีกหนึ่งข้อมูลเพื่อให้เราอยู่รอดในตลาดได้

ลองสร้าง Framework การลงทุนหรือเทรดของตัวเองกันดูนะ

Investic

--

--