kraken-bot/app.py
2024-08-30 11:07:52 -04:00

29 lines
1.0 KiB
Python

import krakenex
import pandas
from dotenv import load_dotenv
from pykrakenapi import KrakenAPI
from scipy.stats import linregress
from time import sleep
k = krakenex.API()
k.load_key('kraken.key')
kraken = KrakenAPI(k, tier='Pro')
def get_markets_by_asset(asset):
tradable_asset_pairs = kraken.get_tradable_asset_pairs()
return tradable_asset_pairs[
((tradable_asset_pairs['base'] == asset | tradable_asset_pairs['quote'] == asset)
& (tradable_asset_pairs['status'] == 'online'))
]
def get_ohlc_linear_regression(ohlc):
regressions = pandas.DataFrame({
'open': linregress(ohlc['time'].astype(float), ohlc['open'].astype(float)),
'high': linregress(ohlc['time'].astype(float), ohlc['high'].astype(float)),
'low': linregress(ohlc['time'].astype(float), ohlc['low'].astype(float)),
'close': linregress(ohlc['time'].astype(float), ohlc['close'].astype(float))
}).transpose()
regressions.columns = ['slope', 'intercept', 'r_value', 'p_value', 'stderr']
return regressions