मीन रिवर्शन रणनीति

Python में फाइनेंशियल ट्रेडिंग

Chelsea Yang

Data Science Instructor

RSI-आधारित मीन रिवर्शन रणनीति

डर में खरीदें और लालच में बेचें

 

  • RSI-आधारित मीन रिवर्शन रणनीति:
    • शॉर्ट सिग्नल: RSI > 70
      • बताता है कि एसेट ओवरबॉट है और कीमत जल्द पलट सकती है
    • लॉन्ग सिग्नल: RSI < 30
      • बताता है कि एसेट ओवरसोल्ड है और कीमत जल्द उछल सकती है
Python में फाइनेंशियल ट्रेडिंग

इंडिकेटर की गणना करें

import talib
# Calculate the RSI
stock_rsi = talib.RSI(price_data['Close']).to_frame()
Python में फाइनेंशियल ट्रेडिंग

सिग्नल बनाएँ

# Create the same DataFrame structure as RSI
signal = stock_rsi.copy()
signal[stock_rsi.isnull()] = 0

# Construct the signal signal[stock_rsi < 30] = 1
signal[stock_rsi > 70] = -1
signal[(stock_rsi <= 70) & (stock_rsi >= 30)] = 0
Python में फाइनेंशियल ट्रेडिंग

सिग्नल प्लॉट करें

# Plot the RSI
stock_rsi.plot()
plt.title('RSI')

RSI प्लॉट

# Merge data into one DataFrame
combined_df = bt.merge(signal, stock_data)
combined_df.columns = ['Signal', 'Price']
# Plot the signal with price

combined_df.plot(secondary_y = ['Signal'])

RSI-आधारित सिग्नल प्लॉट

Python में फाइनेंशियल ट्रेडिंग

सिग्नल के साथ रणनीति परिभाषित करें

# Define the strategy
bt_strategy = bt.Strategy('RSI_MeanReversion', 
                          [bt.algos.WeighTarget(signal),
                           bt.algos.Rebalance()])
Python में फाइनेंशियल ट्रेडिंग

सिग्नल-आधारित रणनीति का बैकटेस्ट करें

# Create the backtest and run it
bt_backtest = bt.Backtest(bt_strategy, price_data)
bt_result = bt.run(bt_backtest)
Python में फाइनेंशियल ट्रेडिंग

बैकटेस्ट परिणाम प्लॉट करें

# Plot the backtest result
bt_result.plot(title='Backtest result')

RSI मीन-रिवर्शन बैकटेस्ट परिणाम

Python में फाइनेंशियल ट्रेडिंग

अभ्यास करते हैं!

Python में फाइनेंशियल ट्रेडिंग

Preparing Video For Download...