https://blockrabbit.io/strategy-construction-and-correlation-analysis-of-virtual-currency/
こちらのサイトを基に、Pythonのコードを読んでいても、どういうことをしているかわからず、
困っています。
ほんと簡単で構いませんので#でコメントした部分がどういう挙動をしているか教えて頂けないでしょうか。
import requests
import datetime
import pandas as pd
def daily_price_historical(symbol, comparison_symbol, limit=50, aggregate=1, exchange='', allData='true'):
url = 'https://min-api.cryptocompare.com/data/histoday?fsym={}&tsym={}&limit={}&aggregate={}&allData=false'\
.format(symbol.upper(), comparison_symbol.upper(), limit, aggregate, allData)
#まず関数を基に上記URLのフォーマットにあった電文作成 そもそもなぜ関数にするのか
if exchange:
# +=でeの取引所別に取得?? ={}' はどういう意味なのか
url += '&e={}'.format(exchange)
page = requests.get(url)
data = page.json()['Data']
df = pd.DataFrame(data) df['timestamp'] = [datetime.datetime.fromtimestamp(d) for d in df.time] return df
exch_name= ["zaif", "coincheck","bitflyer", "btcbox"]
col = ["timestamp", "close"]
#exch_nameで指定したい取引所を[0]でどういうことをしたい???
df0 = daily_price_historical('BTC','JPY',exchange=exch_name[0])
#ここのイメージもつかず
df0=df0[col]
#[0]でどういうことをしたい???
df0 = df0.rename(columns={'close': exch_name[0]})
#ここはIF文でどういうことをしているのでしょうか。。。
for i in range(1,len(exch_name)) :
df1 = daily_price_historical('BTC','JPY',exchange=exch_name[i])
df1=df1[col]
df1 = df1.rename(columns={'close': exch_name[i]})
df0= pd.merge(df1, df0, on='timestamp')
print(df0)
###リクエストの仕様は以下です
def requests_to_cryptocompare(toTs = -1):
return requests.get('https://min-api.cryptocompare.com/data/v2/histohour', params={
'fsym': "BTC", # 仮想通貨のシンボル
'tsym': "JPY", # ペアの通貨のシンボル
'limit': 2000, # レコードの取得数、最大2000
'e': "bitFlyerFX", # 取引所
'toTs': toTs # 取得したいデータの基準となるタイムスタンプ(unixtime)
})
回答1件
あなたの回答
tips
プレビュー