比特幣的數據版圖
大數據文摘投稿作品
投稿作者:周寧奕
幾年前,比特幣還是一種社會邊緣,一位碼農花了10000個比特幣買了披薩,商店勉強接受交易,到去年比特幣一年狂漲十幾倍,大媽都在談論區塊鏈。
幾年裡,網路上默默地演化出一個至少有1700多種數字貨幣的家族。相比上漲百倍的山寨幣,比特幣的1年十幾倍比較保守,但也秒殺了大多數城市過去20年里房價的漲幅,最後在去年十二月底遭遇滑鐵盧,從19000USD開始,最低跌破了6000USD。
這裡不討論敏感的問題,但很有意思的是,比特幣的數據很透明也很公開,比如所有的賬號、轉賬記錄、計算機節點和交易所的信息(交易所的數據某種意義上是有水份的),不談法律的話,交易所的遊戲規則其實和證券、期貨等交易系統有點相似,至少數據讓我們管中窺豹。
比特幣的機制網上超多無比,這個回答「比特幣(Bitcoin)系統是如何運行的?」就寫的很贊,這裡主要討論一些機制和就事論事的數據分析,數據的分析基於眾安科技的可視化產品Zatlas。
幣的市場
法幣是各國法定貨幣,如RMB、USD、代幣是等各種虛擬幣,比如BTC(比特幣)、ETH(以太坊),他們統稱數字貨幣。數字貨幣是一個龐大的數字貨幣家族,光Coinmarketcap上就記錄了1000多種,我們從Coinmarketcap上爬取一些數據,並放在了產品Zatlas上,大家可以通過Zatlas的新建頁面->導入數據->公開數據找到他們。
這張表coin提供了市場上主流的數字貨幣信息,更詳細的解釋可以參考coinmarketcap的FAQ:
一個很重要的參數是market_cap(和股票的市值計算類似),就是在市場上流通的虛擬幣,換成美元有多少錢,因為有很多大佬並不在交易所搞投機,他們就把比特幣靜靜地放在錢包里,比如中本聰的賬戶n久沒變化了,還有些人的幣的密碼在硬碟里,伴隨著丟了壞了,這些幣將從世界上永遠消失,這類幣是不做市值統計的。
因此更直接的指標如下,我們定義一個circle_percent=volumn_24(24小時內活躍的資金)/available_supply(總可用的存量),也就是這些幣的持有者,在過去的一天里,把百分之多少的幣拿來搞投資,或者說是活躍的資金佔總資金的比例。
我們到zatlas里,使用雙柱狀圖,就可以發現如此的對比,柱狀圖是資金總量,折線圖是流通比例,即當日交易活躍度,其中,很有意思的是,前幾名的幣種,活躍度最大的USDT,USDT是和美元等值的一種貨幣,成為比特幣行情變化的避險通道,他的利用率是最高的,而排在後面的一些山寨幣也非常高,可能是因為這些幣投機性比較高吧
生日大pk
那麼還有一個問題,1000多個虛擬幣都是什麼時候搞出來的?coinmarketcap從2013年4月開始記錄各種幣種的上線(這個比比特幣的生日要晚幾年),不過那時候虛擬幣還很少,我從歷史記錄里查到了每個幣的被監控的最早時間,就是上表中的trade_time_start,我們以每周誕生的幣的個數為柱狀圖。在zatlas里畫出來,並且和比特幣的價格做個對比,發現基本是正相關的,而去年十月收錄的幣是最多的,想想去年頻繁的各種ICO,好像很對的上。
幣的交易網路
代幣和法幣可以交易,代幣之間也可以交易,原理上有點類似外匯交易,外匯市場上,你能用美元換歐元,也能用歐元換日元,瞬息萬變的價格是供需關係短暫的平衡。
用a幣買b幣,這種交易關係叫交易對(別名pair/symbol/market),如果有n種代幣,他們之間理論上有n*(n+1)個交易可能,這是個天文數字,但事實上不是22之間交易對都能交易的,每個交易所都不會那麼靈活,比如幣安上,所有的交易對都與四個幣種有關:BNB(自己家發的幣)、BTC(比特幣)、USDT(和美元掛鉤的泰達幣)、ETH(以太坊)。你想如果交易對很多,每個交易對之間的交易量會減少,也就是交易深度變小,價格變化會非常不連續),那麼,人們選擇哪些pair進行交易呢?
從coinmarketcap上,抓取了9000多個交易對,這些交易對分布在幾百個交易所里,這裡還記錄了某個交易所某個交易對過去24小時的交易量,存放在表pair裡面:
通過這個表,我們考慮做一個交易關係網路,想像我們以幣種作為點,點的大小和顏色關聯該幣種的總交易量(前文中所說的市場流通量market_cap,USD計價),而用邊來表示幣之間的交易,邊的粗細和顏色和交易對24小時內的流量做關聯,我們就可以根據這個關聯刻畫他們的親疏關係。
對於關係網路,zatlas目前需要構造一張大寬表,裡面包含了邊和點的關係,我們結合pair和coin,構造一張大表trade_graph,這張大表也上傳到了zatlas里,可以直接分析(sql較長,略過)。
我們在zatlas上綁定trade_graph的相應欄位,畫出這樣一個網路,我們可以在這個地址訪問交互版本
https://v.anlink.com/share/2c94c39562d2a9030162d2cc73960028#/:
在這個網路里,我們可以清晰地發現很多事情:
最大的交易發生在USD和BTC之間藍色的邊(由於美元沒有計算流通量,所以美元的點很小)。
最大的資金流動,發生在BTC(紅色的大點)上,而ETH是第二大的點
下方的一堆幣(就叫第二世界陣營吧)是炙手可熱的,他們和美元、USDT、BTC、和美元直接交易,並且互相之間交易的比較多,這些點也相對比較大,算是大佬們,如萊特幣、小蟻、EOS、量子鏈之類的幣。
而中間一小撮幣(就叫第三世界陣營),他們可以和ETH、BTC、USD交易,但是和下方的第二陣營幣往往沒有很高的交易關聯度。
我們看邊的關係,日元和韓元都是很local的,很容易看到日本人喜歡買賣BTC,而韓國人則除了BTC,喜歡很多第二世界陣營的幣,比如EOS、BCH云云的。
我們稍微解讀一下這個圖:
中心度與市值
地理上,中心度高的地方往往很富庶。陸路貿易時代,敦煌連接接了東土大唐和西域三十六國;海陸貿易時代,上海是經濟大城,長江口、東海、杭州灣也都通過船運的可能,連接許多遙遠的目的地。你看上圖,比特幣也是如此。
某種意義上,每次連接都代表了成本。城市通商的成本是交通,而虛擬幣的成本是,每次交易你都要付千分之幾的交易費。因此只要一個幣種可以和各種幣種做兌換,那他相對就價格穩定,體量更大(我們下一篇文章會更進一步分析價格穩定性的一些特點)。
一般大家更願意駐留資金在這些穩定的貨幣里,因為入了這個幣,我想買啥就買啥,這就好比國際貿易里美元就是大佬,你和韓國人做生意,往往也要先去換美元。而虛擬幣里BTC是大佬,大部分山寨幣都能兌換,而你使用美元只能兌換幾種數字貨幣。
因此無論地理中心度還是網路中心度,中心是一個很重要的概念,那麼對於虛擬貨幣,是不是中心度越高越有錢(24小時內流通量越大)呢?
首先我們如何刻畫中心?中心度有很多定義,我們簡單的看,就是某個幣可以和n個幣交易,他的中心度為n,然後我們關聯這個幣種的24小時內流通量(volume_24_usd)。
我們先寫個SQL,然後把數據上傳到Zatlas畫個散點圖看看:
WITH tAS(
SELECT left_coin, right_coin, sum(volume_24_usd)AS volume_24_usd,count(1)AS pair_count
FROM pair
WHERE volume_24_usd IS NOTNULL
GROUP BY left_coin, right_coin
)
SELECT left_coin AS coin,floor(sum(pair_count)) AS pair_count,sum(volume_24_usd)AS volume_24_usd
FROM(
SELECT right_coin AS left_coin, left_coin as right_coin, volume_24_usd, pair_count
from t UNION ALL SELECT * FROM t
)AS t1
GROUP BY coin
ORDER BY pair_count DESC;
由於BTC和ETH太變態了,一個幣能有幾百個交易所的上千個交易對在交易,畫出來的圖裡,兩位大佬遙遙領先,一堆弱小的幣種龜縮在一起,因此直接把中心度大的2個幣過濾掉,得到下圖。
我們發現,在剛才交易網路中存在的第二世界和第三世界陣營,在這個抽象的空間里依然是鄰居。
右下角有2個孤立點,日元和韓元。他們數量大,連通度小。但我覺得這個本質上還是很好理解的,很多國外的交易所如果涉及到法幣,國家都要來查你是不是在洗黑錢、是不是要繳稅、要不要給你搞個認證,所以這些交易對註定開出來步履維艱,pair的數量不會很多。而人去買幣,歸根結底還是要付法幣,要走這個通道,因此資金量肯定大,中心度小。
很有意思的是,我們可以繼續過濾掉大幣種,比如小於10,這時候幣種的差異會很大。左側的幣,聯通度很大,但交易量不大,我想應該是最近山寨幣在收縮、歸零,即便是交易對很多也難以改變他們交易量很小的命運,只有少數的幣在右側的坐標空間里按照正常的斜率,在放飛自我...
那麼如何更科學地衡量中心度呢?在此祭出Zatlas的一些黑科技,我們在關係網路里綁定欄位的時候,如果把列表拖到最下面,有幾個中心度的演算法:
出入度演算法
中介中心性演算法
接近中心性演算法
其實用第一種演算法,我們就不用在剛才寫那麼多sql了。這個意思就是,如果一個點和n個點有連接,那這個值就大,如果我們把出入度演算法的值綁定到點的大小,便畫出了下面的圖,可以看到第二世界陣營的幣種還是在一起:
幣的山寨
這張表還能分析一個有意思的事情,現在除了比特幣以太坊,大部分的都叫山寨幣。山寨不是白叫的,我們用一個PostgreSQL看詞頻(裡面用的show_trgm函數,可以把一個詞分解為相鄰序列,BTC=>BT、TC、BTC,然後統計有幾個)。
SELECT str, count(1)AS count
FROM(
SELECT UNNEST(show_trgm(coin_name)) AS str
FROM coin
) AS t
WHERElength(replace(str," ","")) > 1
GROUP BY str, length(str)
ORDER BY count DESC
我們發現BIT、BTC、COIN、TH、TC、RC都是非常高頻的詞,他們好像來自BTC(BITCOIN)、ETH和LRC,比如比特幣的縮寫叫BTC,以及一堆類似的幣,BTM、BCC、BTCZ、BTCS、BTCR、等等。
這個只是字面上的山寨。其實山寨幣之所以那麼多,很大的原因是虛擬幣都是開源的,拿著代碼改改就行了。還有比如ETH說,你要造幣的話,直接用我的平台就行。
因此,coinmarketcap把虛擬幣分成兩種,Token就是那種用已有平台搞的幣,至少是光明正大說我是基於別人開發的,而Coins是各種基礎貨幣(應該也有很多山寨的)。我們可以看山寨幣的源與流,這個數字非常之誇張,我們在Zatlas里畫出一個餅圖,ETH成就了8成的空間:
幣的競爭
當年虛擬幣比特幣一家獨大,後面那麼多更多山寨貨幣的產生,是不是切割了比特幣的市場?我們以市值(Market Cap) = 流通供給量 * 價格來看,BTC最大的競爭對手應是ETH。
我們有一張歷史表(來自coinmarketcap)coin_history描述了幣種在多年內的變化情況,因為數據比較大,這個數據一周採樣一次:
市場劇烈波動,以若干年為周期,比特幣統計上在漲價,但是其占虛擬幣市場的比例一直變化。
其實這張圖不僅可以在Zatlas里生成,coinmarketcap的這個頁面也已提供,黃線是BTC,黑線是ETH,是不是覺得他們很有規律呢?
首先統計上來看,比特幣的市值比例是往下走,去年年初到年中,經歷了一次很大的下降。
競爭關係很明顯,ETH漲BTC就要跌,不過這是必須的,因為這個圖看的是百分比,老大多了老二就少了,因為老三老四已經很小了。
去年12月左右,BTC大跌,佔有率也在下跌,但在今年2月開始,又逐漸上升了。
幣的價差
幣的價值更像是一個哲學問題(也有可能是個法律問題吧),有人說有價值有人說沒有,辛巴威和委瑞內拉的貨幣貶值,因此喜歡買個比特幣全世界保值,而據說朝鮮搞軍事演習的時候,韓國的比特幣就漲價。
當然,我覺得討論這個意義不大。但非常有意思的地方是微利差,其實每個國家對比特幣真正的價格是不一樣的,比如韓國和日本就超多人在買賣比特幣。以韓國為例,人家的交易所都比較封閉,除了bithumb,很多交易所都沒外語的版本,而且你要申請提款,據說必須在韓國生活半年,有張韓國特定銀行的卡,反正外國人不大進得去,以至於去年幣市火熱的時候,韓國的比特幣比外面貴了50%(這個利差現在差不多消失了)。
利益是無孔不入的,價差就像築壩截流,只要有個小洞,管涌就能把落差抹平,倘若有個利差擺在人們面前,早就有一坨人做生意了,比如我做個兌換的循環生意美元->比特幣->韓元-外匯兌換->美元,但為啥能存在呢?
這個問題非常值得思考。首先韓國的幣幣交易價格是沒有太多利差的,多少因為比特幣你可以隨便打來打去,唯獨和法幣的兌換(曾經)有很多的利差,因為剛才的鏈條里,比特幣->韓元、韓元->美元都不那麼容易,而這2個攔截,我覺得可以說是韓國的國家管制。
所以我思考一個問題,價差的本質,大概一是買賣平衡,二是政府管制,而我們又如何衡量國家管制呢?
我想到一個辦法,叫場外交易價格。以中國為例,當年比特幣是可以通過平台來提取人民幣的,但最後封殺掉了,任何平台也不能兌比特幣,而且國外抓的也很嚴,可能要收稅,正規流程一般提款的周期也很長。
由此就有了一種新業務,叫場外交易:你們呢,私下交易,我平台做擔保,其他我啥都不知道,你們交易是你們的事。除了手續費比較高,其實沒太多的政策因素,因此我覺得價格比較接近於人們的心理期望。
很多場外交易是非常local的,比如我的用戶都是中國人,但有個集大成者,叫localbitcoin,裡面有超級多的人在交易。我們抓取了localbitcoin上最近的3100多次交易,做了個簡單的分析:
其中,委瑞內拉的價格換算美元是超高無比,是外界的10倍,6萬多美刀一枚,我查了下,委內瑞保持著全球最高的通脹率紀錄,也不知道localbitcoin的匯率數據是不是滯後了,導致價格比較高。
而還有非常多的小國家熱衷於比特幣交易,比如奈及利亞、秘魯、伊朗這樣,這些小國的交易量比較大,照理他們的人口並不是很多,他們喜歡比特幣的原因,多少是不是因為自己國家貨幣的不穩定性。
第一篇文章,浮光掠影地看了下比特幣的各種基本面,賣個關子,還有後續的。文中的分析,使用2個工具,一是PostgreSQL,一個常用的資料庫,另一個是眾安科技開發的數據可視化平台Zatlas(v.anlink.com)。
Zatlas目前是免費公測的,我們通過項目->新建項目->新建畫布->選擇空白模板就可以自己玩了,比如這篇文章的大部分圖,建一個這樣的項目就行了,文中大部分數據,也都上傳到裡邊,可以直接使用,大家可以倒騰、修改,隨便玩,歡迎給我們的產品提建議、BUG,看看能不能找到有趣的規律。
【今日機器學習概念】
Have a Great Definition


※喬布斯曾放話「拒絕收購就幹掉你們」,Dropbox如何一路上市?
※蘋果公司實現100%綠色能源供電,覆蓋辦公場所和數據中心
TAG:大數據文摘 |