比特幣行情 比特幣行情
Ctrl+D 比特幣行情
ads

比特幣:數據驅動的加密貨幣投機方法

Author:

Time:1900/1/1 0:00:00

比特幣市場的行為如何?加密貨幣價值突然出現高峰和低谷的原因是什么?不同altcoins的市場是不可分割的或基本獨立的?我們如何預測接下來會發生什么?

有關加密貨幣的文章,比如比特幣和以太坊,近來充斥著猜測,有數百名自稱專家的人提倡他們期望出現的趨勢。許多這些分析所缺乏的是用于備份索賠的數據和統計數據的堅實基礎。

本文的目標是提供一個簡單介紹使用Python的加密貨幣分析。我們將通過一個簡單的Python腳本來檢索,分析和可視化不同加密貨幣上的數據。在這個過程中,我們將揭示這些波動的市場表現如何以及它們如何演變的有趣趨勢。

這不是一個解釋加密貨幣是什么的文章,也不是一個關于哪些特定貨幣會上漲,哪些會下跌的評論文章。相反,我們在本教程中關注的所有內容都是獲取原始數據并揭示隱藏在數字中的故事。

第1步-設置您的數據實驗室

本教程旨在為所有技能水平的愛好者,工程師和數據科學家提供便利。您將需要的唯一技能是對Python的基本了解以及足夠的命令行知識來設置項目。

具有所有結果的筆記本完整版本可在此處找到。

步驟1.1-安裝Anaconda

從頭開始安裝此項目的依賴關系的最簡單方法是使用Anaconda,一個預先打包的Python數據科學生態系統和依賴項管理器。

要設置Anaconda,我會建議遵循官方安裝說明-https://www.continuum.io/downloads。

如果您是高級用戶,并且您不想使用Anaconda,那完全沒問題。我假設你不需要幫助安裝所需的依賴關系。隨意跳到第2節。

步驟1.2-安裝Anaconda項目環境

一旦安裝了Anaconda,我們就需要創建一個新的環境來保持我們的依賴性。

運行

condacreate--namecryptocurrency-analysispython=3

為我們的項目創建一個新的Anaconda環境。

接下來,運行

sourceactivatecryptocurrency-analysis

activatecryptocurrency-analysis

來激活這個環境。

最后,運行

condainstallnumpypandasnb_condajupyterplotlyquandl

以在環境中安裝所需的依賴關系。這可能需要幾分鐘才能完成。

為什么使用環境?如果您計劃在您的計算機上開發多個Python項目,將相關性分開以避免沖突會很有幫助。Anaconda將為每個項目的依賴項創建一個特殊的環境目錄,以保持組織和分離的一切。

步驟1.3-啟動一個互動Jupyter筆記本

一旦環境和依賴關系完成設置,運行

jupyternotebook

以啟動iPython內核,并打開瀏覽器

http://localhost:8888/

。創建一個新的Python筆記本,確保使用

Python

內核。

步驟1.4-導入筆記本頂部的依賴項

一旦你打開了一個空白的Jupyter筆記本,我們要做的第一件事就是導入所需的依賴關系。

Lukka收購Blox Finance將提供加密貨幣數據服務:金色財經報道,加密資產數據和軟件供應商Lukka宣布已經收購了Blox Finance。Lukka已經收購了Blox的加密貨幣會計和財務數據管理軟件業務,包括Blox區塊鏈節點基礎設施和知識產權。這筆交易擴大了Lukka的數據管理軟件的足跡,并增加了公司的覆蓋范圍。此次收購還將使該公司能夠大幅擴大為其企業數據客戶提供的數據產品。(finextra)[2021/10/21 20:44:47]

importosimportnumpyasnpimportpandasaspdimportpickleimportquandlfromdatetimeimportdatetime

importplotly.offlineaspyimportplotly.graph_objsasgoimportplotly.figure_factoryasffpy.init_notebook_mode(connected=True)

第2步-檢索比特幣定價數據

現在一切都已經完成,我們已經準備好開始檢索數據進行分析。首先,我們需要使用Quandl的免費比特幣API獲取比特幣定價數據。

步驟2.1-定義Quandl輔助函數

為了協助這個數據檢索,我們將定義一個函數來從Quandl下載和緩存數據集。

defget_quandl_data(quandl_id):'''DownloadandcacheQuandldataseries'''cache_path='{}.pkl'.format(quandl_id).replace('/','-')try:f=open(cache_path,'rb')df=pickle.load(f)print('Loaded{}fromcache'.format(quandl_id))except(OSError,IOError)ase:print('Downloading{}fromQuandl'.format(quandl_id))df=quandl.get(quandl_id,returns="pandas")df.to_pickle(cache_path)print('Cached{}at{}'.format(quandl_id,cache_path))returndf

我們正在使用

pickle

序列化并將下載的數據保存為文件,這將阻止我們的腳本每次運行腳本時都重新下載相同的數據。該函數將以Pandas數據框的形式返回數據。如果您不熟悉數據框,則可以將它們視為超級供電的電子表格。

步驟2.2-拉Kraken交易所定價數據

首先我們來拉動Kraken比特幣交易所的歷史比特幣匯率。

Billions項目組CharttheBTCpricingdatabtc_trace=go.Scatter(x=btc_usd_price_kraken.index,y=btc_usd_price_kraken)py.iplot()

在這里,我們使用Plotly來生成我們的可視化。這比一些比較成熟的Python數據可視化庫更傳統,但我認為Plotly是一個不錯的選擇,因為它使用D3.js生成完全交互的圖表。這些圖表具有吸引人的視覺默認值,易于探索,并且非常易于嵌入網頁。

作為快速的完整性檢查,您應該將生成的圖表與公開可用的比特幣價格圖表進行比較,以驗證下載的數據是否合法。

第2.3步-從更多BTC交易所獲取定價數據

數據:以太坊2.0存款合約地址截至18時共收到879424 ETH:據Tokenview.com數據顯示:以太坊2.0存款合約地址截至今日18時共計收到2753個創世驗證者通過轉賬存入的21468筆686976個ETH,以及6015筆合約轉入的共計192448ETH。其中轉賬排名前3分別為0xdd9663bd979f1ab1bada85e1bc7d7f13cafe71f8轉入43264ETH,0x622de9bb9ff8907414785a633097db438f9a2d86轉入32736ETH,0x631c2d8d0d7a80824e602a79800a98d93e909a9e轉入32000ETH,0x234ee9e35f8e9749a002fc42970d570db716453b轉入32000ETH。

合約轉入排名為Staked.us: Eth2 Depositor轉入101312ETH,Stake Fish: Eth2 Depositor轉入69536ETH,Cream.Finance: CRETH2 Token轉入16000ETH。[2020/12/1 22:45:29]

您可能已經注意到此數據集中存在一些問題-特別是在2014年末和2016年初,有一些明顯的下降峰值。這些峰值特定于Kraken數據集,我們顯然不希望它們反映在我們的整體定價分析。

比特幣交易所的性質在于定價取決于供求關系,因此沒有單一交易所包含真正的比特幣“主價”。為了解決這個問題,以及可能由于技術中斷和數據集故障導致的下降峰值,我們將從另外三個主要比特幣交易所獲取數據,以計算總比特幣價格指數。

首先,我們將從每個交易所下載數據到數據框字典中。

Billions項目組MergetheBTCpricedataseries'intoasingledataframebtc_usd_datasets=merge_dfs_on_column(list(exchange_data.values()),list(exchange_data.keys()),'WeightedPrice')

最后,我們可以使用該

tail()

方法預覽最后五行結果,以確保它看起來不錯。

btc_usd_datasets.tail()

BITSTAMP

COINBASE

ITBIT

日期

2017年8月14日

4210.1549434213.3321064207.3666964213.257519

2017年8月15日

4101.4471554131.6068974127.0368714149.146996

2017年8月16日

4193.4267134193.4695534190.1045204187.399662

2017年8月17日

4338.6946754334.1152104334.4494404346.508031

2017年8月18日

4182.1661744169.5559484175.4407684198.277722

價格看起來像預期的那樣:它們的范圍相似,但是根據每個個人比特幣交易所的供求情況而略有變化。

步驟2.5-可視化定價數據集

下一個合乎邏輯的步驟是可視化這些定價數據集的比較方式。為此,我們將定義一個輔助函數來提供單行命令以從數據框生成圖形。

Bitget合約大數據中心:BTC合約多頭占優 隔夜BTC寬幅震蕩:據Bitget合約大數據中心行情播報,截至今日11:00,Bitget交易所BTC/USDT合約過去24小時交易量高達11億余美金,其中:盈利用戶占比39%,多頭盈利74%,空頭盈利2%;虧損用戶占61%,多頭虧損19%,空頭虧損5%。此外,Bitget正向合約當前盤口價差在0.5USDT左右,合約基差在0.2USDT左右。[2020/11/24 21:53:52]

defdf_scatter(df,title,seperate_y_axis=False,y_axis_label='',scale='linear',initial_hide=False):'''Generateascatterplotoftheentiredataframe'''label_arr=list(df)series_arr=list(map(lambdacol:df,label_arr))layout=go.Layout(title=title,legend=dict(orientation="h"),xaxis=dict(type='date'),yaxis=dict(title=y_axis_label,showticklabels=notseperate_y_axis,type=scale))y_axis_config=dict(overlaying='y',showticklabels=False,type=scale)visibility='visible'ifinitial_hide:visibility='legendonly'Billions項目組Addseperateaxisfortheseriesifseperate_y_axis:trace='y{}'.format(index+1)layout=y_axis_configtrace_arr.append(trace)fig=go.Figure(data=trace_arr,layout=layout)py.iplot(fig)

為了簡潔起見,我不會過多介紹這種幫助功能的工作原理。如果您想了解更多信息,請查閱Pandas和Plotly的文檔。

現在我們可以輕松生成比特幣定價數據的圖表。

Billions項目組Remove"0"valuesbtc_usd_datasets.replace(0,np.nan,inplace=True)

當我們重新繪制數據框時,我們會看到一個更清晰的圖表,沒有降低峰值。

Billions項目組CalculatetheaverageBTCpriceasanewcolumnbtc_usd_datasets=btc_usd_datasets.mean(axis=1)

這個新的專欄是我們的比特幣定價指數!讓我們繪制該列以確保它看起來不錯。

Billions項目組getdatafromthestartof2015end_date=datetime.now()Billions項目組pulldailydata(86,400secondsperday)defget_crypto_data(poloniex_pair):'''Retrievecryptocurrencydatafrompoloniex'''json_url=base_polo_url.format(poloniex_pair,start_date.timestamp(),end_date.timestamp(),pediod)data_df=get_json_data(json_url,poloniex_pair)data_df=data_df.set_index('date')returndata_df

數據:全球比特幣ATM安裝總數達11969臺:CoinATMRadar統計數據顯示,11月1日以來,全球共新安裝了420臺比特幣ATM。截止11月14日,比特幣ATM機在全球的部署數量已達11969臺。[2020/11/15 20:50:12]

該函數將采用加密貨幣對字符串并返回包含兩種貨幣歷史匯率的數據幀。

步驟3.2-從Poloniex下載交易數據

大多數altcoins不能用USD直接購買;為了獲得這些硬幣,個人經常購買比特幣,然后在加密貨幣交易所交易比特幣用于替代幣。出于這個原因,我們會將每個硬幣的匯率下載到BTC,然后我們將使用我們現有的BTC定價數據將此值轉換為美元。

我們將下載9個頂級加密貨幣的交換數據-以太坊,萊特幣,Ripple,EthereumClassic,Stellar,Dash,Siacoin,Monero和NEM。

altcoins=altcoin_data={}foraltcoininaltcoins:coinpair='BTC_{}'.format(altcoin)crypto_price_df=get_crypto_data(coinpair)altcoin_data=crypto_price_df

現在我們有一個包含9個數據框的字典,每個字典都包含阿爾特幣和比特幣之間的歷史日均交易價格。

我們可以預覽以太坊價格表的最后幾行,以確保它看起來不錯。

altcoin_data.tail()

打開

quoteVolume

加權平均

日期

2017-08-1812:00:00

0.0705100.0710000.0701700.07088717364.2715291224.7626840.070533

2017-08-1816:00:00

0.0715950.0720960.0700040.07051026644.0181231893.1361540.071053

2017-08-1820:00:00

0.0713210.0729060.0704820.07160039655.1278252841.5490650.071657

2017-08-1900:00:00

0.0714470.0718550.0708680.07132116116.9228691150.3614190.071376

2017-08-1904:00:00

0.0723230.0725500.0712920.07144714425.5718941039.5960300.072066

步驟3.3-將價格轉換為美元

現在我們可以將BTC-altcoin匯率數據與我們的比特幣定價指數結合起來,直接計算每種阿爾特幣的歷史美元價值。

Billions項目組MergeUSDpriceofeachaltcoinintosingledataframecombined_df=merge_dfs_on_column(list(altcoin_data.values()),list(altcoin_data.keys()),'price_usd')

Bitget合約大數據中心:BTC重新逼近萬元大關:據Bitget合約大數據中心行情播報,截至今日11:00,Bitget交易所BTC/USDT合約過去24小時交易量高達13.9億美金,其中:盈利用戶占比52%,多頭盈利52%,空頭盈利6%;虧損用戶占比48%,多頭虧損5%,空頭虧損37%。此外,Bitget正向合約當前盤口價差在0.5USDT左右,合約基差在0.2USDT左右。

Bitget合約分析師表示,BTC隔夜出現高位整理走勢,然而總體量能不足,行情K線距離均線支撐線間距較大,走勢上大概率會有技術回踩,日內高空為主。建議嚴格設置止盈止損。[2020/5/15]

簡單。現在讓我們將比特幣價格作為組合數據框的最后一列。

Billions項目組Chartallofthealtocoinpricesdf_scatter(combined_df,'CryptocurrencyPrices(USD)',seperate_y_axis=False,y_axis

太好了!該圖提供了關于過去幾年中每種貨幣的匯率如何變化的非常穩固的“全景圖”視圖。

請注意,我們使用對數y軸比例來比較同一圖表上的所有貨幣。歡迎您在此嘗試不同的參數值以獲得對數據的不同觀點。

步驟3.4-執行相關性分析

您可能會注意到,加密貨幣匯率,盡管它們的價值和波動性大不相同,但看起來略有相關性。特別是自2017年4月上漲以來,甚至許多較小的波動似乎在整個市場中同步發生。

直到我們有數據支持它,一個直觀的預感并不比猜測好得多。

我們可以使用Pandas

corr()

方法來測試我們的相關假設,該方法計算數據幀中每列與每個列的Pearson相關系數。

修訂注意事項8/22/2017-本部分已經過修訂,以便在計算相關系數時使用日收益率百分比而不是絕對價格值。

直接在非平穩時間序列上計算相關性可以給出有偏差的相關值。我們將通過首先應用該

pct_change()

方法來解決此問題,該方法會將數據框中的每個單元格從絕對價格值轉換為每日回報百分比。

首先,我們將計算2016年的相關性。

#Calculatethepearsoncorrelationcoefficientsforcryptocurrenciesin2016combined_df_2016=combined_dfcombined_df_2016.pct_change().corr(method='pearson')

短跑

等等

ETH

LTC

SC

STR

XEM

XMR

XRP

BTC

短跑

1.0000000.0039920.122695-0.0121940.0266020.0580830.0145710.1215370.088657-0.014040

等等

0.0039921.000000-0.181991-0.131079-0.008066-0.102654-0.080938-0.105898-0.054095-0.170538

ETH

0.122695-0.1819911.000000-0.0646520.1696420.0350930.0432050.0872160.085630-0.006502

LTC

-0.012194-0.131079-0.0646521.0000000.0122530.1135230.1606670.1294750.0537120.750174

SC

0.026602-0.0080660.1696420.0122531.0000000.1432520.1061530.0479100.0210980.035116

STR

0.058083-0.1026540.0350930.1135230.1432521.0000000.2251320.0279980.3201160.079075

XEM

0.014571-0.0809380.0432050.1606670.1061530.2251321.0000000.0164380.1013260.227674

XMR

0.121537-0.1058980.0872160.1294750.0479100.0279980.0164381.0000000.0276490.127520

XRP

0.088657-0.0540950.0856300.0537120.0210980.3201160.1013260.0276491.0000000.044161

BTC

-0.014040-0.170538-0.0065020.7501740.0351160.0790750.2276740.1275200.0441611.000000

這些相關系數都在這個地方。接近于1或-1的系數意味著該系列分別強相關或反相關,接近于零的系數意味著這些值不相關,并且彼此獨立地波動。

為了幫助可視化這些結果,我們將創建一個輔助可視化函數。

defcorrelation_heatmap(df,title,absolute_bounds=True):'''Plotacorrelationheatmapfortheentiredataframe'''heatmap=go.Heatmap(z=df.corr(method='pearson').as_matrix(),x=df.columns,y=df.columns,colorbar=dict(title='PearsonCoefficient'),)layout=go.Layout(title=title)ifabsolute_bounds:heatmap=1.0heatmap=-1.0fig=go.Figure(data=,layout=layout)py.iplot(fig)

correlation_heatmap(combined_df_2016.pct_change(),"CryptocurrencyCorrelationsin2016")

在這里,暗紅色值表示強相關性,深藍色值表示強烈的逆相關性。所有淺藍色/橙色/灰色/棕褐色代表不同程度的弱/不存在的相關性。

這張圖表告訴我們什么?基本上,它表明,2016年不同加密電子貨幣的價格波動之間幾乎沒有統計上顯著的聯系。

現在,為了驗證我們最近幾個月加密貨幣已經變得更加相關的假設,讓我們僅使用2017年的數據重復相同的測試。

combined_df_2017=combined_dfcombined_df_2017.pct_change().corr(method='pearson')

短跑

等等

ETH

LTC

SC

STR

XEM

XMR

XRP

BTC

短跑

1.0000000.3841090.4804530.2596160.1918010.1593300.2999480.5038320.0664080.357970

等等

0.3841091.0000000.6021510.4209450.2553430.1460650.3034920.4653220.0539550.469618

ETH

0.4804530.6021511.0000000.2861210.3237160.2286480.3435300.6045720.1202270.421786

LTC

0.2596160.4209450.2861211.0000000.2962440.3331430.2505660.4392610.3213400.352713

SC

0.1918010.2553430.3237160.2962441.0000000.4171060.2879860.3747070.2483890.377045

STR

0.1593300.1460650.2286480.3331430.4171061.0000000.3965200.3418050.6215470.178706

XEM

0.2999480.3034920.3435300.2505660.2879860.3965201.0000000.3971300.2703900.366707

XMR

0.5038320.4653220.6045720.4392610.3747070.3418050.3971301.0000000.2136080.510163

XRP

0.0664080.0539550.1202270.3213400.2483890.6215470.2703900.2136081.0000000.170070

BTC

0.3579700.4696180.4217860.3527130.3770450.1787060.3667070.5101630.1700701.000000

這些是更重要的相關系數。強大到足以作為投資的唯一基礎?當然不是。

然而,值得注意的是,幾乎所有的加密貨幣已經變得更加相互關聯。

correlation_heatmap(combined_df_2017.pct_change(),"CryptocurrencyCorrelationsin2017")

呵呵。這很有趣。

這是為什么發生?

好問題。我真的不確定。

想到最直接的解釋是對沖基金最近開始在加密貨幣市場上公開交易。與平均交易者相比,這些基金的資本要多得多,所以如果一個基金在多個加密貨幣上對沖他們的投注,并且基于自變量對每個基金使用類似的交易策略,那么這可能是合理的這種相關性增加的趨勢將會出現。

深入-XRP和STR

例如,上面圖表的一個值得注意的特征是XRP是最不相關的加密貨幣。這里值得注意的例外是STR,它與XRP具有更強的相關性。

這里有趣的是,Stellar和Ripple都是非常類似的金融科技平臺,旨在減少銀行間國際資金轉移的摩擦。

可以想象的是,由于使用每個令牌的區塊鏈服務的相似性,一些大資金玩家和對沖基金可能使用類似的交易策略來投資Stellar和Ripple。這可以解釋為什么XRP與STR相比與其他加密貨幣的關聯性更強。

快速插件-我是Chipper的一名貢獻者,Chipper是一家非常早期的初創公司,其使用Stellar的目的是破壞非洲的微型匯款。

到你了

然而,這種解釋很大程度上是推測性的。也許你可以做得更好。有了我們在這里創建的基礎,有數百種不同的途徑可以繼續搜索數據中的故事。

這里有一些想法:

將更多加密貨幣的數據添加到分析中。調整相關性分析的時間框架和粒度,以獲得更精細或粗略的趨勢視圖。搜索交易量和/或區塊鏈挖掘數據集的趨勢。如果您想預測未來的價格波動,則買入/賣出交易量比率可能比原始價格數據更相關。添加有關股票,商品和法定貨幣的定價數據,以確定哪些與加密貨幣相關。使用事件注冊表,GDELT和GoogleTrends來量化圍繞特定加密貨幣的“嗡嗡聲”量。訓練數據的預測性機器學習模型以預測未來的價格。如果你更有野心,你甚至可以嘗試用循環神經網絡來做這件事。使用您的分析,在Poloniex或Coinbase等交易網站上使用各自的交易API創建自動化的“交易機器人”。小心:一個糟糕的交易機器人是一個簡單的方法來快速損失你的錢。分享您的發現!比特幣和一般加密貨幣的最佳部分是它們的分散性使它們比其他任何資產更自由和民主。開源你的分析,參與社區,也許寫一篇關于它的博客文章。

Python版本的筆記本可以在這里找到。

希望現在你有能力進行自己的分析并批判性地思考你將來可能閱讀的任何猜測性的加密貨幣文章,特別是那些沒有任何數據的文章來備份所提供的預測。

感謝您的閱讀,如果您對本教程有任何想法,建議或批評,請在下面評論。如果您發現代碼存在問題,您也可以在此處的Github存儲庫中隨意打開問題。

我已經在作品中獲得了第二個部分,這些作品很可能會沿用上面列出的一些想法,因此請在未來幾周內繼續關注。

Tags:比特幣加密貨幣BTC比特幣中國官網聯系方式40億比特幣能提現嗎比特幣最新價格行情走勢加密貨幣是什么意思啊加密貨幣市場還有未來嗎知乎全球十大加密貨幣BTCs是不是黃了btc錢包官網btc

火幣下載
比特幣:(知識普及)幣鏈 | 區塊鏈中常用的名詞解釋

區塊鏈中常用的名詞解釋 ①礦工:在比特幣網絡中,競爭計算能獲得新生的比特幣獎勵,很像開采埋在地底下的礦物的過程形象地叫做“挖礦”,競爭挖礦的人或組織,叫“礦工”。②算力:可以簡單理解為計算能力.

1900/1/1 0:00:00
THE:宋代錢幣特征和名稱特征

兩宋共歷經18帝,北宋9帝,南市9帝,共北宋每年計320年,宋朝鑄錢極多,錢幣豐富,鑄錢數額超過唐代約20倍。宋錢繼承唐開元通寶遺風,但在質量上不及開元通寶.

1900/1/1 0:00:00
區塊鏈:比特幣ATM公司獲得紐約比特幣牌照 | 兔鏈晚報

熱點聚焦 據sludgefeed消息,比特幣ATM公司Coinsource獲得紐約州金融服務管理局(DFS)比特幣牌照的機構.

1900/1/1 0:00:00
加密貨幣:朝鮮半島停戰協議簽訂之后,在12小時內,為何雙方又開戰打光炮彈

朝鮮半島停戰協議簽訂之后,在12小時內,為何雙方又開戰打光炮彈大家還記得抗美援朝戰爭么,在朝鮮簽訂停戰協議后的十二個小時,在戰場上又想起了非常猛烈的槍炮聲,戰斗雙方都把子彈和各種炮彈全部打光了.

1900/1/1 0:00:00
比特幣:比特幣暫陷熊市,但別忘了它漲了十年

任何足夠先進的技術都等同于魔術。———亞瑟·查爾斯·克拉克從2009年第一個比特幣的創世誕生算起,在下一年,以比特幣為代表的數字貨幣即將迎來發展歷史中的第一個十年,它們的底層基礎架構,區塊鏈技術.

1900/1/1 0:00:00
比特幣:史詩級漏洞嚇壞投資者,比特幣一周400億劇震,有人套現1.8萬個

跌破8000美元關口后,過去一周比特幣價格在7800美元到7100美元的區間內不斷浮動。一周內,比特幣經歷5次閃跌4次暴漲,短時間內價格的劇烈波動讓人大跌眼鏡.

1900/1/1 0:00:00
ads