見出し画像

Python Binance 仮想通貨の銘柄同士の相関関係を計算してみた2020年11月版無料公開

Pythonを使って仮想通貨取引所バイナンスの価格の相関関係を統計的に計算するプログラムを書きました。分析するのにかなり便利なのですが有料で公開しています。

そのうち株価との相関もやってみたい。

価格はUSDTを基準として、BTC/USDT と ETH/USDT の相関を数値化

という風にしています。

今回はバイナンスでUSDTとペアのある通貨で取引高の高いものから選んでみみました。バイナンスのデータですが、相関は他の取引所ともほぼ変わりません。

'BTC','XRP','ETH','ICX','BCH','ETC','LTC','BNB','EOS','TRX','ADA','MATIC','XLM','DASH','LINK','VET','ATOM','ZEC','NEO','ENJ','IOTA','BAT','ONT','BAT','ONT','XTZ','IOST'

これらの総当たり表を作りました。

プログラム的に、月足、週足、1分、15分、1時間、4時間足などいろいろ対応できます。何日分にするかとかも簡単に変えられます。

相関関係の判断基準は

0.7以上で相関関係が高い

0.4で相関関係がある。

0.4未満は、相関関係がほぼない。

だいたいこんな感じです。

以下は2020年11月11日までの180日で計算した結果です。

  BTC      XRP       ETH      ICX      BCH       ETC      LTC  \
BTC           -   0.6798   0.84435  0.21831  0.52834  -0.28506  0.79324   
XRP     0.67979        -   0.90289  0.66242  0.71699   0.06463  0.87016   
ETH     0.84433  0.90288         -  0.59063  0.53577  -0.27329  0.82593   
ICX     0.21827  0.66241   0.59062        -   0.3671   0.08953  0.53811   
BCH     0.52814  0.71699   0.53573  0.36712        -   0.58417  0.86179   
ETC    -0.28511  0.06459  -0.27333  0.08953  0.58414         -  0.21998   
LTC     0.79321  0.87018   0.82594  0.53809  0.86179   0.21996        -   
BNB     0.75301  0.63273   0.82448   0.3108  0.17097  -0.59812  0.48827   
EOS      0.2398  0.74078   0.50306  0.70491  0.78833   0.56338   0.7416   
TRX     0.55466  0.65145   0.81562  0.55462  0.09923  -0.54142  0.48334   
ADA     0.34192  0.60702   0.53559  0.50928  0.62633   0.27115  0.59522   
MATIC  -0.31371  0.22818  -0.04928  0.59459  0.38268   0.69355  0.21451   
XLM       0.292  0.66152   0.47924  0.61035  0.73559   0.48946  0.67369   
DASH    0.14152  0.63528   0.33273  0.53276  0.82402   0.71899  0.64945   
LINK    0.67666  0.87221   0.90915  0.77405   0.5171  -0.17083  0.77919   
VET     0.20773  0.58636   0.49271  0.66521  0.48943   0.21384  0.49708   
ATOM    0.57588  0.79526   0.83685   0.8368  0.40375  -0.21113  0.67428   
ZEC      0.4251  0.85241   0.68719  0.63087  0.78248   0.33479  0.76328   
NEO     0.48444  0.62497   0.76408  0.62678   0.0423  -0.53336  0.39761   
ENJ    -0.37107  0.14067  -0.15579  0.49132   0.3928   0.76798  0.15398   
IOTA    0.45347  0.85873   0.74768  0.82834  0.71403   0.23313  0.79165   
BAT    -0.06704  0.40152   0.24682  0.80069     0.41   0.40643  0.41128   
ONT    -0.06459  0.50659    0.3493  0.84911  0.37269   0.32069   0.3803   
BAT    -0.06709  0.40151   0.24683  0.80065  0.40999   0.40644   0.4113   
ONT    -0.06458  0.50658   0.34931  0.84913  0.37272   0.32066   0.3803   
XTZ    -0.14771  0.36655   0.06144  0.52005  0.60141   0.77202  0.38225   
IOST    0.01374  0.38121   0.37198  0.71429  0.24739   0.07295  0.31032   

           BNB      EOS       TRX      ADA     MATIC      XLM      DASH  \
BTC     0.75301  0.23977   0.55465  0.34196  -0.31361  0.29199   0.14157   
XRP     0.63271  0.74079   0.65144  0.60703   0.22827  0.66154   0.63536   
ETH     0.82447  0.50305   0.81563  0.53561  -0.04922  0.47923    0.3328   
ICX     0.31083  0.70491   0.55463  0.50929   0.59464  0.61036    0.5328   
BCH     0.17094  0.78832   0.09922  0.62633   0.38276   0.7356   0.82409   
ETC    -0.59811  0.56341  -0.54139  0.27113   0.69357  0.48948   0.71898   
LTC     0.48826  0.74158   0.48332  0.59524   0.21455   0.6737   0.64952   
BNB           -  0.07787   0.78567  0.23683  -0.41195  0.10513  -0.09667   
EOS     0.07787        -   0.30895  0.57556   0.69399  0.76287   0.88297   
TRX     0.78567  0.30895         -  0.25387  -0.15249  0.18292   0.03302   
ADA     0.23683  0.57556   0.25387        -   0.26657  0.88121   0.52556   
MATIC  -0.41197  0.69398   -0.1525  0.26654         -  0.49897   0.71975   
XLM     0.10515  0.76286   0.18293   0.8812   0.49895        -   0.74516   
DASH   -0.09668  0.88297   0.03303  0.52554   0.71975  0.74517         -   
LINK    0.66939   0.6334   0.78139  0.58997   0.21585  0.60314   0.44298   
VET     0.16839  0.59391   0.29912  0.92336   0.41353  0.85816   0.52979   
ATOM    0.68165  0.55603   0.76108  0.51421   0.20672  0.52605   0.34742   
ZEC     0.33835  0.77509   0.36217  0.82803   0.41946  0.83203   0.77926   
NEO     0.79448  0.25779   0.87538   0.1539  -0.06632  0.11195    0.0306   
ENJ    -0.49927  0.61497  -0.28153  0.30667   0.87971  0.53361   0.71754   
IOTA    0.37948  0.86444   0.53456   0.7342   0.51847  0.79198    0.7347   
BAT    -0.14552  0.71896   0.17695  0.51647   0.75176   0.6367   0.63844   
ONT     0.01093  0.72125   0.29424  0.62164   0.72752  0.71653   0.64959   
BAT    -0.14554  0.71897   0.17694  0.51645   0.75174  0.63668   0.63842   
ONT     0.01092  0.72128   0.29423  0.62164   0.72753  0.71653   0.64958   
XTZ    -0.36332  0.78137  -0.15207  0.48085   0.86536  0.72138   0.85568   
IOST    0.14233  0.51848   0.38204  0.59432   0.49904   0.5298    0.4103   

          LINK      VET      ATOM      ZEC       NEO       ENJ     IOTA  \
BTC     0.67661  0.20768   0.57585  0.42512    0.4844  -0.37149  0.45331   
XRP     0.87219  0.58638   0.79526  0.85245   0.62497   0.14069  0.85877   
ETH     0.90914  0.49276   0.83684  0.68726   0.76412  -0.15595  0.74768   
ICX     0.77398  0.66521   0.83678  0.63085   0.62676   0.49137  0.82835   
BCH     0.51704  0.48945   0.40372  0.78251   0.04227   0.39274  0.71403   
ETC    -0.17082  0.21385  -0.21108  0.33475  -0.53328   0.76801  0.23323   
LTC     0.77916  0.49711   0.67426  0.76334   0.39758    0.1539  0.79158   
BNB     0.66937   0.1684   0.68164  0.33839   0.79447   -0.4993  0.37937   
EOS     0.63342   0.5939   0.55602  0.77506    0.2578   0.61495  0.86446   
TRX      0.7814  0.29913   0.76107  0.36219   0.87537  -0.28154  0.53453   
ADA     0.58996  0.92337   0.51421  0.82805   0.15389   0.30667  0.73419   
MATIC   0.21593  0.41352   0.20679  0.41946  -0.06629   0.87963  0.51852   
XLM     0.60314  0.85816   0.52606  0.83203   0.11196   0.53356  0.79197   
DASH    0.44299  0.52978   0.34743  0.77925    0.0306   0.71755  0.73472   
LINK          -  0.63172   0.92243  0.72263   0.70855   0.08105  0.87558   
VET     0.63167        -   0.56768  0.78546   0.25321   0.39909  0.76497   
ATOM    0.92243  0.56769         -  0.65372   0.75858    0.1226  0.81487   
ZEC     0.72265  0.78546   0.65372        -   0.31535    0.4007  0.87402   
NEO     0.70857  0.25321   0.75859  0.31536         -  -0.20954  0.49184   
ENJ     0.08104  0.39904   0.12257   0.4007  -0.20949         -  0.44183   
IOTA    0.87564  0.76496   0.81491  0.87402   0.49184   0.44182        -   
BAT     0.48715  0.64541   0.53239  0.58011   0.19795   0.71841  0.72557   
ONT     0.56253  0.77408   0.56406  0.67144   0.36818   0.65743  0.76318   
BAT     0.48714   0.6454    0.5324   0.5801   0.19794    0.7184  0.72556   
ONT     0.56253  0.77408   0.56409  0.67144   0.36818   0.65738  0.76317   
XTZ     0.31163  0.54307   0.23127  0.59454  -0.16833   0.86726  0.63637   
IOST    0.52963  0.71177   0.54138  0.55395   0.38858   0.42471  0.67328   

           BAT       ONT       BAT       ONT       XTZ     IOST  
BTC    -0.06711  -0.06471  -0.06711  -0.06471  -0.14789  0.01324  
XRP     0.40162   0.50671   0.40163   0.50672   0.36664  0.38116  
ETH     0.24687   0.34934   0.24687   0.34934   0.06142  0.37173  
ICX     0.80073   0.84915   0.80073   0.84915    0.5201  0.71434  
BCH     0.41003   0.37274   0.41003   0.37272   0.60138  0.24729  
ETC      0.4065   0.32077    0.4065   0.32077   0.77206  0.07321  
LTC     0.41128   0.38035   0.41128   0.38035   0.38225   0.3101  
BNB    -0.14555   0.01093  -0.14554   0.01093  -0.36336  0.14227  
EOS     0.71897   0.72126   0.71897   0.72126   0.78137  0.51851  
TRX     0.17695   0.29422   0.17695   0.29422  -0.15207  0.38201  
ADA     0.51649   0.62166   0.51647   0.62164   0.48084  0.59429  
MATIC   0.75172   0.72749   0.75172   0.72749   0.86535  0.49906  
XLM     0.63667    0.7165   0.63667    0.7165   0.72136  0.52978  
DASH    0.63843   0.64957   0.63843   0.64957   0.85566  0.41031  
LINK    0.48703   0.56244   0.48703   0.56243   0.31158  0.52951  
VET     0.64541    0.7741   0.64541   0.77409    0.5431  0.71178  
ATOM    0.53241   0.56399    0.5324   0.56398   0.23122  0.54136  
ZEC     0.58011   0.67144   0.58011   0.67144    0.5945  0.55394  
NEO     0.19794   0.36817   0.19795   0.36817  -0.16832  0.38856  
ENJ     0.71843   0.65742   0.71843   0.65743   0.86725  0.42479  
IOTA    0.72558   0.76318   0.72558   0.76318   0.63638   0.6733  
BAT           -   0.86437         -   0.86437   0.70427  0.75224  
ONT     0.86437         -   0.86437         -   0.70552  0.82714  
BAT           -   0.86436         -   0.86436   0.70426   0.7522  
ONT     0.86436         -   0.86437         -   0.70552   0.8271  
XTZ     0.70426   0.70551   0.70426   0.70551         -  0.43326  
IOST     0.7522    0.8271    0.7522    0.8271   0.43326        -


以下は2020年2月5日までの180日で計算した結果です。

(この回はBCH,XTZは日足のデータが足りなかったので、使えるデータではありませんでした。)

            BTC       XRP       ETH       ICX       BCH       ETC       LTC  \
BTC           -   0.66695   0.82516   0.63914   0.40134   0.50575   0.95858   
XRP     0.66695         -   0.89334   0.48399   0.42905   0.13096   0.72982   
ETH     0.82517   0.89334         -   0.65228   0.49772   0.38467   0.90535   
ICX     0.63942   0.48415    0.6523         -   0.25626   0.68479   0.70858   
BCH     0.40134   0.42905   0.49772    0.2563         -  -0.04554   0.45854   
ETC     0.50575   0.13094   0.38466   0.68488  -0.04555         -   0.51242   
LTC     0.95858   0.72982   0.90535   0.70952   0.45855    0.5124         -   
BNB     0.89639   0.69965   0.78022   0.52479   0.35404   0.29606    0.9056   
EOS     0.84515   0.57898   0.80994   0.72594   0.18533   0.77037   0.87734   
TRX     0.62177   0.70744   0.74331   0.52976  -0.07708   0.45303   0.66961   
ADA     0.84437   0.60402   0.82805   0.82705   0.23137     0.749   0.90089   
MATIC   -0.2625  -0.24758  -0.24412   -0.0533  -0.37836  -0.01261  -0.24322   
XLM      0.6677   0.87602   0.87909   0.51174   0.25761   0.22442   0.76421   
DASH    0.74989   0.48411   0.71606   0.68003   0.22617   0.85236   0.79143   
LINK    0.05339   0.40975   0.32402   0.18206  -0.32502   0.27509   0.14502   
VET    -0.33674  -0.47589  -0.35831  -0.11964  -0.69888   0.09856  -0.30923   
ATOM   -0.39963  -0.50513  -0.42191  -0.21993  -0.72371   0.22852  -0.39826   
ZEC     0.77512   0.43577   0.68508   0.77517   0.21566   0.88421   0.81416   
NEO     0.33839   0.13434   0.28384   0.32582  -0.52596   0.51835   0.33344   
ENJ     0.05198  -0.27894  -0.10527   0.48998  -0.34818    0.6237   0.02551   
IOTA    0.60393   0.84211   0.88281   0.69698   0.42799   0.47779    0.7076   
BAT     0.06634   0.48331   0.36676   0.19433  -0.37712   0.20733   0.14698   
ONT     0.75807   0.73424   0.80286   0.55845   0.07024   0.33346   0.77216   
BAT     0.06634   0.48332   0.36667   0.19419  -0.37714   0.20714    0.1469   
ONT     0.75807   0.73426   0.80286    0.5588   0.07025   0.33346   0.77216   
XTZ    -0.11082   0.35774   0.13198  -0.17058    0.1551  -0.61884  -0.07535   
IOST    0.82533   0.45417   0.60746   0.51001   0.21129   0.28285   0.80331   

           BNB       EOS       TRX       ADA     MATIC       XLM      DASH  \
BTC     0.89638   0.84525   0.62184   0.84438  -0.26256    0.6677   0.74988   
XRP     0.69964   0.57906   0.70755   0.60412  -0.24759   0.87603   0.48413   
ETH     0.78019   0.80999   0.74335   0.82812  -0.24411   0.87908   0.71611   
ICX     0.52402   0.72551   0.52941   0.82665  -0.05321   0.51159   0.67954   
BCH     0.35405   0.18528  -0.07708   0.23146  -0.37837   0.25762   0.22621   
ETC     0.29605   0.77049   0.45309     0.749  -0.01261   0.22436   0.85235   
LTC     0.90559   0.87727   0.66959    0.9009  -0.24322    0.7642   0.79143   
BNB           -   0.69241   0.64923   0.75511  -0.17324   0.76021    0.6067   
EOS     0.69247         -   0.75101   0.93444   -0.1288   0.64988   0.91568   
TRX     0.64929   0.75103         -   0.74345  -0.00746   0.81727   0.62357   
ADA     0.75516   0.93446   0.74349         -  -0.03591   0.70561   0.87434   
MATIC  -0.17321  -0.12877  -0.00744  -0.03594         -  -0.11782  -0.13289   
XLM     0.76021   0.64988   0.81725   0.70575  -0.11783         -   0.53803   
DASH    0.60671   0.91569    0.6236   0.87442   -0.1328   0.53801         -   
LINK    0.18364   0.31975   0.70357   0.30697   0.10356   0.50552   0.31473   
VET    -0.23441  -0.06533   0.11373  -0.04653   0.61302  -0.13745  -0.12019   
ATOM   -0.42704  -0.00507   0.08374  -0.13875   0.32165   -0.3113  -0.03395   
ZEC     0.63565   0.91151    0.6017   0.91273   -0.1301   0.50002   0.96001   
NEO     0.32536   0.58025   0.72238   0.51916   0.13577   0.42018   0.46935   
ENJ    -0.11446   0.31133   0.10563   0.32538   0.35769  -0.19869   0.29727   
IOTA    0.52221   0.69295   0.68387   0.73982  -0.20628   0.78609   0.69087   
BAT     0.15243    0.3324   0.70869   0.29274    0.0645   0.56376   0.24996   
ONT     0.75376   0.74979   0.89184   0.74735   -0.0978   0.85258   0.57074   
BAT     0.15244   0.33227   0.70865    0.2926    0.0643   0.56368   0.24985   
ONT     0.75375   0.74979   0.89185   0.74731  -0.09788   0.85258   0.57074   
XTZ     0.06699  -0.32294   0.04608  -0.20798    0.0593   0.28747  -0.38327   
IOST      0.892   0.63572   0.56146    0.7025  -0.01692   0.60185   0.50373   

          LINK       VET      ATOM       ZEC       NEO       ENJ      IOTA  \
BTC     0.05333  -0.33683  -0.39966   0.77506   0.33835   0.05189   0.60362   
XRP     0.40974  -0.47596  -0.50519    0.4358   0.13425  -0.27904   0.84152   
ETH     0.32402  -0.35823  -0.42189   0.68521   0.28394  -0.10448   0.88277   
ICX     0.18223  -0.11912  -0.21971   0.77482   0.32564   0.49033   0.69867   
BCH    -0.32506  -0.69889  -0.72374   0.21569  -0.52598  -0.34817   0.42706   
ETC     0.27509   0.09851   0.22842   0.88421   0.51819   0.62366   0.47922   
LTC     0.14498  -0.30926  -0.39834   0.81413   0.33344   0.02554    0.7075   
BNB     0.18361  -0.23443  -0.42708   0.63558   0.32532  -0.11452   0.52167   
EOS     0.31973  -0.06536  -0.00517   0.91149   0.58025   0.31143   0.69354   
TRX     0.70357   0.11371   0.08362   0.60165   0.72241   0.10626   0.68431   
ADA     0.30707  -0.04626  -0.13856   0.91281   0.51929   0.32617   0.74053   
MATIC   0.10357   0.61303   0.32162  -0.13012   0.13575   0.35772  -0.20549   
XLM     0.50549  -0.13745  -0.31134   0.50003   0.42015  -0.19885   0.78562   
DASH    0.31475  -0.12018  -0.03402   0.96002   0.46937   0.29739   0.69129   
LINK          -   0.29692   0.32336   0.25163   0.57844   0.05608   0.46021   
VET     0.29692         -   0.72947  -0.09939   0.60473   0.42158  -0.37131   
ATOM    0.32336   0.72947         -  -0.03311    0.5209   0.48524  -0.38405   
ZEC      0.2516  -0.09941  -0.03311         -   0.46732   0.42359   0.64547   
NEO     0.57843   0.60473    0.5209   0.46732         -   0.38126   0.21356   
ENJ     0.05574   0.42158   0.48524   0.42366   0.38127         -  -0.02178   
IOTA    0.45976  -0.37236  -0.38515   0.64463   0.21275  -0.02306         -   
BAT     0.86265    0.2804   0.28719   0.16932   0.60895   0.02929   0.48544   
ONT     0.43259   0.00049  -0.14291   0.55935   0.65572   0.01322   0.65635   
BAT     0.86265   0.28035   0.28716   0.16915   0.60889   0.02897   0.48528   
ONT     0.43257   0.00049  -0.14291   0.55935   0.65572   0.01363   0.65635   
XTZ     0.05659  -0.21077  -0.43683   -0.4208  -0.28454  -0.47832   0.13003   
IOST    0.00932   0.00141  -0.26819   0.56849   0.42691     0.079   0.30056   

           BAT       ONT       BAT       ONT       XTZ      IOST  
BTC     0.06642   0.75805   0.06642   0.75805  -0.11066   0.82532  
XRP     0.48328   0.73422   0.48328   0.73422   0.35821   0.45413  
ETH     0.36707   0.80291   0.36707   0.80291    0.1319   0.60741  
ICX     0.19489   0.55818   0.19485   0.55818  -0.17096   0.50907  
BCH    -0.37716   0.07019  -0.37716   0.07019   0.15528   0.21133  
ETC     0.20739   0.33368   0.20739   0.33368  -0.61888   0.28285  
LTC     0.14704   0.77218   0.14704   0.77218  -0.07524   0.80332  
BNB     0.15245   0.75372   0.15245   0.75372   0.06716     0.892  
EOS     0.33256   0.74986   0.33256   0.74986  -0.32294   0.63569  
TRX     0.70877    0.8919   0.70877    0.8919    0.0461   0.56148  
ADA     0.29317   0.74722   0.29317   0.74722  -0.20814   0.70215  
MATIC   0.06444  -0.09772   0.06444  -0.09772   0.05924  -0.01692  
XLM     0.56374   0.85255   0.56374   0.85255   0.28781   0.60185  
DASH    0.25002   0.57084   0.24998   0.57084  -0.38322   0.50372  
LINK     0.8627   0.43272    0.8627   0.43272    0.0565   0.00939  
VET      0.2804   0.00058    0.2804   0.00058  -0.21082   0.00141  
ATOM    0.28719  -0.14281   0.28719  -0.14281  -0.43698  -0.26814  
ZEC     0.16928   0.55953   0.16928   0.55953  -0.42078   0.56842  
NEO     0.60897   0.65581   0.60897   0.65581  -0.28458   0.42683  
ENJ     0.02922    0.0137   0.02922    0.0137  -0.47833   0.07878  
IOTA     0.4854   0.65642    0.4854   0.65642   0.13005   0.30048  
BAT           -   0.51039         -   0.51039   0.09749   -0.0005  
ONT     0.51039         -   0.51039         -   0.17159   0.73215  
BAT           -   0.51037         -   0.51037   0.09759   -0.0005  
ONT     0.51037         -   0.51037         -   0.17159   0.73215  
XTZ     0.09759   0.17159   0.09759   0.17159         -   0.01833  
IOST   -0.00041   0.73219  -0.00041   0.73219   0.01833         -

以下はpythonプログラムの話

使用にはPythonが使用できる環境とBINANCEのアカウントが必要になります。

Binanceで手数料を10%節約する方法はこちら。

またアカウントのAPIも必要になります。

以下のモジュールも使っています。

使用したモジュール

from binance.client import Client
from binance.enums import *
from binance.exceptions import *
import numpy as np
import pandas as pd
import configparser
from   datetime import datetime as dt

適当な名前のpythonファイルを作って

config_soukan.ini という設定用のテキストファイルを作って同じフォルダに入れて使用します。

iniファイルの中のコメントを見て

日足にするか時間足にするか

何本見るか

調べたい通貨

基準となる通過 (通常はUSDTが良いと思います。)

など設定してください。

ここから先は

5,729字

¥ 2,000

コーヒー飲みます。ありがとうございます。