Bir video da görmüştüm, Tespitin çok zor olduğunu filan söylüyorlardı. Yani ulaşılamaz muamelesi yapıyorlardı. Bizde bir şeyler uydurduk. BTC ile kolerasyon içinde olan koinleri bulan kod. Birazda başka bir yerden kopyalamıştım hatırlamıyorum. Yani derleme koddur. İşine yarayan varsa kullansın. Son 500 mum için yaptım ben. İsterseniz 1000 mum için yapın fakat kolerasyon bozuluyor gibi geldi bana ondan kısa tuttum. BTC Hedge etmek ve BTC ile aynı hareket eden koinleri tespit etmekti amaçım. Alım satım da kullanacaktım. Fazla derinlere indik sanırım yine. Varsa güzel ipucları çok makbule geçer.
Girintileri siz halledersiniz r10 girinti olmuyor nedense. Veya buradan indirin https://dosya.co/ps2k7xdz2of8/cm.py.html
import pandas as pd
from binance.client import Client
import datetime as dt
# client configuration
api_key = 'binance api key gir'
api_secret = 'api secret girilecek'
client = Client(api_key, api_secret, testnet=False)
tickers = pd.DataFrame(client.get_all_tickers())
list_symbols = tickers["symbol"]
filt = []
word = str("USDT")
for i in list_symbols:
if word in i:
#print(i)
filt.append(i)
filt1 = filt[:50]
interval = "1m"
limit = 500
selected_symbol = "BTCUSDT"
data = [pd.DataFrame(client.get_klines(symbol=i, interval=interval, limit=limit)) for i in filt1]
for i in range(len(data) - 1, 0, -1):
if data[i].empty:
del data[i]
data[i]["symbol"] = filt1[i]
data[0].columns = ['open_time', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'qav', 'num_trades',
'taker_base_vol', "taker_quote_vol", "ignore"]
data[0]["symbol"] = filt1[0]
for i in range(len(data)):
data[i].columns = ['open_time', 'open', 'high', 'low', 'close', 'volume', 'close_time', 'qav', 'num_trades',
'taker_base_vol', "taker_quote_vol", "ignore", "symbol"]
data[i].index = [dt.datetime.fromtimestamp(i / 1000.0) for i in data[i].close_time]
full_data = pd.concat(data)
full_data = pd.DataFrame(full_data.set_index(['symbol', full_data.index])["close"])
symbols = list(set(full_data.index.get_level_values(0)))
cl = full_data.loc[selected_symbol][["close"]]
cl.rename({"close": selected_symbol}, axis=1, inplace=True)
for i in symbols:
if i != selected_symbol:
cl[i] = full_data.loc[i][["close"]]
cl = cl.astype(float)
corr = cl.corr()
selected_symbol_corr = corr[selected_symbol]
sorted_corr = selected_symbol_corr.abs().sort_values(ascending=False)
top_correlated_coins = sorted_corr[1:]
print("KOLERASYON MATRİS")
print(top_correlated_coins)
print("KOLERASYON MATRİS KAPANIŞ")
corr_mat = corr.corr(method = "pearson")
sorted_mat = corr_mat.unstack().sort_values()
sorted_mat = sorted_mat[sorted_mat < 1]
print("sorted_mat")
print(sorted_mat)
print("sorted_mat")
print("tail")
print(sorted_mat.tail(30))
Yanlış varsa söyle bizde bilelim. Veya daha iyisini ortaya koy bizde kullanalım dimi .