Расчет StochRSI в Python дает результаты, отличные от диаграммы KrakenPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Расчет StochRSI в Python дает результаты, отличные от диаграммы Kraken

Сообщение Anonymous »

Я пытаюсь рассчитать индикатор StochRSI для анализа рынка криптовалют с целью интеграции его в торгового бота для принятия торговых решений. Я получаю рыночные данные от Kraken, используя библиотеку ccxt.
Однако значения StochRSI, которые я рассчитываю, значительно отличаются от того, что я вижу на графиках Kraken. Я также попытался получить данные непосредственно из API Kraken, но результаты по-прежнему не соответствовали информации, отображаемой на диаграмме Kraken.
Вот ключевые шаги моего подхода:
Вот ключевые шаги моего подхода:
p>
Я получаю исторические данные о ценах, используя ccxt для Kraken.
Я рассчитываю StochRSI, используя стандартную формулу:
StochRSI = (RSI - Lowest RSI) / (Highest RSI - Lowest RSI)

Я сравниваю рассчитанные значения со значениями на графике Kraken, но они не совпадают.
Что может быть причиной несоответствия между моими расчетными значениями StochRSI и значениями, отображаемыми на графике Кракен? Существует ли какой-либо конкретный метод расчета или корректировки данных, применяемый Kraken, который мне может не хватать? Будем признательны за любые рекомендации и предложения.
import ccxt
import pandas as pd

# Initialize the Kraken client with your API credentials (replace with your own)
kraken = ccxt.kraken({
'apiKey': "XXX",
'secret': "XXX",
})

trade_symbol = 'ETH/USDT'
stochrsi_period = 14

def calculate_stochrsi(prices, period=14):
# Ensure 'prices' is a pandas Series
prices = pd.Series(prices)

# Calculate the price differences
delta = prices.diff(1)
gain = delta.clip(lower=0) # Keep only gains
loss = -delta.clip(upper=0) # Keep only losses

# Calculate the average gain and loss
avg_gain = gain.rolling(window=period).mean()
avg_loss = loss.rolling(window=period).mean()

# Calculate the RSI
rs = avg_gain / avg_loss
rsi = 100 - (100 / (1 + rs))

# Calculate the StochRSI
min_rsi = rsi.rolling(window=period).min()
max_rsi = rsi.rolling(window=period).max()
stochrsi = (rsi - min_rsi) / (max_rsi - min_rsi)

return stochrsi

# Fetch OHLC data from Kraken with a 1-hour interval
print('Fetching OHLC data...')
ohlc_data = kraken.fetch_ohlcv(trade_symbol, timeframe='1h', limit=100)
df = pd.DataFrame(ohlc_data, columns=['timestamp', 'open', 'high', 'low', 'close', 'volume'])
closing_prices = df['close']

# Calculate the StochRSI
print('Calculating StochRSI...')
stochrsi = calculate_stochrsi(closing_prices)

# Print the StochRSI values
print(stochrsi)


Подробнее здесь: https://stackoverflow.com/questions/790 ... aken-chart
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»