摘要:看著這份臺(tái)詞是不是很眼熟,我稍稍改了一下,曾經(jīng)差一點(diǎn)點(diǎn)點(diǎn)就購買比特幣了,腸子都悔青了現(xiàn)在,今天對(duì)比特幣做一個(gè)簡單的數(shù)據(jù)分析。
大家好,我是辣條。
曾經(jīng)有一個(gè)真摯的機(jī)會(huì),擺在我面前,但是我沒有珍惜,等到失去的時(shí)候才后悔莫及,塵世間最痛苦的事莫過于此,如果老天可以再給我一個(gè)再來一次機(jī)會(huì)的話,我會(huì)買下那個(gè)比特幣,哪怕付出所有零花錢,如果非要在這個(gè)機(jī)會(huì)加上一個(gè)期限的話,我希望是十年前。
看著這份臺(tái)詞是不是很眼熟,我稍稍改了一下,曾經(jīng)差一點(diǎn)點(diǎn)點(diǎn)就購買比特幣了,腸子都悔青了現(xiàn)在,今天對(duì)比特幣做一個(gè)簡單的數(shù)據(jù)分析。
# 安裝對(duì)應(yīng)的第三方庫!pip install pandas ?!pip install numpy!pip install seaborn!pip install matplotlib!pip install sklearn!pip install tensorflow
1. 數(shù)據(jù)處理 - pandas2. 科學(xué)運(yùn)算 - numpy3. 數(shù)據(jù)可視化 - seaborn matplotlib
1. anaconda2. notebook3. python3.7版本
#a|T + enter notebook運(yùn)行方式import pandas as pd # 數(shù)據(jù)處理import numpy as np # 科學(xué)運(yùn)算import seaborn as sns # 數(shù)據(jù)可視化import matplotlib.pyplot as plt # 數(shù)據(jù)可視化?import warningsimport warningswarnings.filterwarnings("ignore")
如遇到導(dǎo)包報(bào)錯(cuò) 可以看看是不是自己的第三方庫的版本問題
# 設(shè)置圖表與 線格式plt.rcParams["figure.figsize"] = (10, 10)plt.rcParams["lines.linewidth"] = 2plt.style.use("ggplot")# 讀取數(shù)據(jù)集df = pd.read_csv("./DOGE-USD.csv")df.head() # 查看前5行
Date | Open | High | Low | Close | Adj Close | Volume | |
---|---|---|---|---|---|---|---|
0 | 2014-09-17 | 0.000293 | 0.000299 | 0.000260 | 0.000268 | 0.000268 | 1463600.0 |
1 | 2014-09-18 | 0.000268 | 0.000325 | 0.000267 | 0.000298 | 0.000298 | 2215910.0 |
2 | 2014-09-19 | 0.000298 | 0.000307 | 0.000275 | 0.000277 | 0.000277 | 883563.0 |
3 | 2014-09-20 | 0.000276 | 0.000310 | 0.000267 | 0.000292 | 0.000292 | 993004.0 |
4 | 2014-09-21 | 0.000293 | 0.000299 | 0.000284 | 0.000288 | 0.000288 | 539140.0 |
df.isnull().sum() # 統(tǒng)計(jì)缺失值的總和(sum())Date ? ? ? ? 0Open ? ? ? ? 5High ? ? ? ? 5Low ? ? ? ? 5Close ? ? ? 5Adj Close ? 5Volume ? ? ? 5dtype: int64df.duplicated().sum() # 查看重復(fù)值0# 數(shù)據(jù)類型 分布基本情況df.info()RangeIndex: 2591 entries, 0 to 2590Data columns (total 7 columns): # ? Column ? ? Non-Null Count Dtype ?--- ------ ? ? -------------- ----- ? 0 ? Date ? ? ? 2591 non-null ? object 1 ? Open ? ? ? 2586 non-null ? float64 2 ? High ? ? ? 2586 non-null ? float64 3 ? Low ? ? ? 2586 non-null ? float64 4 ? Close ? ? 2586 non-null ? float64 5 ? Adj Close 2586 non-null ? float64 6 ? Volume ? ? 2586 non-null ? float64dtypes: float64(6), object(1)memory usage: 141.8+ KB# 轉(zhuǎn)換 Date的類型df["Date"] = pd.to_datetime(df.Date, dayfirst=True)# 索引重置 讓Date時(shí)間格式成為 索引 inplace新建對(duì)象df.set_index("Date", inplace=True)df
Open | High | Low | Close | Adj Close | Volume | |
---|---|---|---|---|---|---|
Date | ||||||
2014-09-17 | 0.000293 | 0.000299 | 0.000260 | 0.000268 | 0.000268 | 1.463600e+06 |
2014-09-18 | 0.000268 | 0.000325 | 0.000267 | 0.000298 | 0.000298 | 2.215910e+06 |
2014-09-19 | 0.000298 | 0.000307 | 0.000275 | 0.000277 | 0.000277 | 8.835630e+05 |
2014-09-20 | 0.000276 | 0.000310 | 0.000267 | 0.000292 | 0.000292 | 9.930040e+05 |
2014-09-21 | 0.000293 | 0.000299 | 0.000284 | 0.000288 | 0.000288 | 5.391400e+05 |
... | ... | ... | ... | ... | ... | ... |
2021-10-16 | 0.233881 | 0.244447 | 0.233683 | 0.237292 | 0.237292 | 1.541851e+09 |
2021-10-17 | 0.237193 | 0.241973 | 0.226380 | 0.237898 | 0.237898 | 1.397143e+09 |
2021-10-18 | 0.237806 | 0.271394 | 0.237488 | 0.247281 | 0.247281 | 5.003366e+09 |
2021-10-19 | NaN | NaN | NaN | NaN | NaN | NaN |
2021-10-20 | 0.245199 | 0.246838 | 0.242384 | 0.246078 | 0.246078 | 1.187871e+09 |
2591 rows × 6 columns
df = df.asfreq("d") # 按照天數(shù)采集數(shù)據(jù)df = df.fillna(method="bfill") # 缺失值填充 下一條數(shù)據(jù)填充df
Open | High | Low | Close | Adj Close | Volume | |
---|---|---|---|---|---|---|
Date | ||||||
2014-09-17 | 0.000293 | 0.000299 | 0.000260 | 0.000268 | 0.000268 | 1.463600e+06 |
2014-09-18 | 0.000268 | 0.000325 | 0.000267 | 0.000298 | 0.000298 | 2.215910e+06 |
2014-09-19 | 0.000298 | 0.000307 | 0.000275 | 0.000277 | 0.000277 | 8.835630e+05 |
2014-09-20 | 0.000276 | 0.000310 | 0.000267 | 0.000292 | 0.000292 | 9.930040e+05 |
2014-09-21 | 0.000293 | 0.000299 | 0.000284 | 0.000288 | 0.000288 | 5.391400e+05 |
... | ... | ... | ... | ... | ... | ... |
2021-10-16 | 0.233881 | 0.244447 | 0.233683 | 0.237292 | 0.237292 | 1.541851e+09 |
2021-10-17 | 0.237193 | 0.241973 | 0.226380 | 0.237898 | 0.237898 | 1.397143e+09 |
2021-10-18 | 0.237806 | 0.271394 | 0.237488 | 0.247281 | 0.247281 | 5.003366e+09 |
2021-10-19 | 0.245199 | 0.246838 | 0.242384 | 0.246078 | 0.246078 | 1.187871e+09 |
2021-10-20 | 0.245199 | 0.246838 | 0.242384 | 0.246078 | 0.246078 | 1.187871e+09 |
2591 rows × 6 columns
In [14]:
# 開盤價(jià)的分布情況df["Open"].plot(figsize=(12, 8))
結(jié)論:從上圖可以看出 BTB是在2021年份開始爆發(fā)式的增長 在2015 到 2021 一直都是沒有較大波動(dòng)
# 成交情況df["Volume"].plot(figsize=(12, 8))
# 投資價(jià)值df["Total Pos"] = df.sum(axis=1)df["Total Pos"].plot(figsize=(10, 8))
結(jié)論:開盤價(jià)高 投資價(jià)值搞 比較合適做賣出操作 實(shí)現(xiàn)一夜暴富(開玩笑的)
# 當(dāng)前元素與先前元素的相差百分比df["Daily Reture"] = df["Total Pos"].pct_change(1)# 日收益率的平均df["Daily Reture"].mean()df["Daily Reture"].plot(kind="kde")
SR = df["Daily Reture"].mean() / df["Daily Reture"].std()all_plot = df/df.iloc[0]all_plot.plot(figsize=(24, 16))
df.hist(bins=100, figsize=(12, 6))
# 按照年份進(jìn)行采樣df.resample(rule="A").mean()
Open | High | Low | Close | Adj Close | Volume | Total Pos | Daily Reture | |
---|---|---|---|---|---|---|---|---|
Date | ||||||||
2014-12-31 | 0.000249 | 0.000259 | 0.000240 | 0.000248 | 0.000248 | 8.059213e+05 | 8.059213e+05 | 1.028630 |
2015-12-31 | 0.000143 | 0.000147 | 0.000139 | 0.000143 | 0.000143 | 1.685476e+05 | 1.685476e+05 | 0.139461 |
2016-12-31 | 0.000235 | 0.000242 | 0.000229 | 0.000235 | 0.000235 | 2.564834e+05 | 2.564834e+05 | 0.259038 |
2017-12-31 | 0.001576 | 0.001708 | 0.001468 | 0.001601 | 0.001601 | 1.118996e+07 | 1.118996e+07 | 0.225833 |
2018-12-31 | 0.004368 | 0.004577 | 0.004125 | 0.004350 | 0.004350 | 2.172325e+07 | 2.172325e+07 | 0.109586 |
2019-12-31 | 0.002564 | 0.002631 | 0.002499 | 0.002563 | 0.002563 | 4.463969e+07 | 4.463969e+07 | 0.027981 |
2020-12-31 | 0.002736 | 0.002822 | 0.002660 | 0.002744 | 0.002744 | 1.290465e+08 | 1.290465e+08 | 0.052314 |
2021-12-31 | 0.200410 | 0.215775 | 0.185770 | 0.201272 | 0.201272 | 4.620961e+09 | 4.620961e+09 | 0.260782 |
# 年平均收盤價(jià)df["Open"].resample("A").mean().plot.bar(title="Yearly Mean Closing Price", color=["#b41f7d"])
# 月度df["Open"].resample("M").mean().plot.bar(figsize=(18, 12), color="red")
# 分別獲取對(duì)應(yīng)時(shí)間窗口 6 12 2 均值df["6-month-SMA"] = df["Open"].rolling(window=6).mean()df["12-month-SMA"] = df["Open"].rolling(window=12).mean()df["2-month-SMA"] = df["Open"].rolling(window=2).mean()df.head(10)
Open | High | Low | Close | Adj Close | Volume | Total Pos | Daily Reture | 6-month-SMA | 12-month-SMA | 2-month-SMA | |
---|---|---|---|---|---|---|---|---|---|---|---|
Date | |||||||||||
2014-09-17 | 0.000293 | 0.000299 | 0.000260 | 0.000268 | 0.000268 | 1463600.0 | 1.463600e+06 | NaN | NaN | NaN | NaN |
2014-09-18 | 0.000268 | 0.000325 | 0.000267 | 0.000298 | 0.000298 | 2215910.0 | 2.215910e+06 | 0.514013 | NaN | NaN | 0.000281 |
2014-09-19 | 0.000298 | 0.000307 | 0.000275 | 0.000277 | 0.000277 | 883563.0 | 8.835630e+05 | -0.601264 | NaN | NaN | 0.000283 |
2014-09-20 | 0.000276 | 0.000310 | 0.000267 | 0.000292 | 0.000292 | 993004.0 | 9.930040e+05 | 0.123863 | NaN | NaN | 0.000287 |
2014-09-21 | 0.000293 | 0.000299 | 0.000284 | 0.000288 | 0.000288 | 539140.0 | 5.391400e+05 | -0.457062 | NaN | NaN | 0.000285 |
2014-09-22 | 0.000288 | 0.000301 | 0.000285 | 0.000298 | 0.000298 | 620222.0 | 6.202220e+05 | 0.150391 | 0.000286 | NaN | 0.000291 |
2014-09-23 | 0.000298 | 0.000318 | 0.000295 | 0.000313 | 0.000313 | 739197.0 | 7.391970e+05 | 0.191826 | 0.000287 | NaN | 0.000293 |
2014-09-24 | 0.000314 | 0.000353 | 0.000310 | 0.000348 | 0.000348 | 1277840.0 | 1.277840e+06 | 0.728687 | 0.000295 | NaN | 0.000306 |
2014-09-25 | 0.000347 | 0.000383 | 0.000332 | 0.000375 | 0.000375 | 2393610.0 | 2.393610e+06 | 0.873169 | 0.000303 | NaN | 0.000331 |
2014-09-26 | 0.000374 | 0.000467 | 0.000373 | 0.000451 | 0.000451 | 4722610.0 | 4.722610e+06 | 0.973007 | 0.000319 | NaN | 0.000361 |
進(jìn)行可視化 查看對(duì)應(yīng)分布情況
df[["Open", "6-month-SMA", "12-month-SMA", "2-month-SMA"]].plot(figsize=(24, 10))
df[["Open","6-month-SMA"]].plot(figsize=(18,10))
df[["Open","6-month-SMA"]].iloc[:100].plot(figsize=(12,6)).autoscale(axis="x",tight=True)
df["EWMA12"] = df["Open"].ewm(span=14,adjust=True).mean()df[["Open","EWMA12"]].plot(figsize=(24,12))
df[["Open","EWMA12"]].iloc[:50].plot(figsize=(12,6)).autoscale(axis="x",tight=True)
?????疑難解答、學(xué)習(xí)資料、路線圖可通過搜索下方???
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/123626.html
摘要:背景比特幣說好的分叉最后卻分叉不成,如今算力又不夠,于是比特現(xiàn)金想篡位沒一個(gè)星期就漲了快倍,錯(cuò)過這趟快車甚是后悔,于是打算寫一個(gè)可不定期推送最新消息的微信公眾號(hào)。既然是利用微信這個(gè)平臺(tái)載體,當(dāng)然要熟悉微信的,遂封裝了一下。 背景:比特幣說好的segwit2x分叉最后卻分叉不成,如今算力又不夠,于是比特現(xiàn)金想篡位? 沒一個(gè)星期就漲了快10倍,錯(cuò)過這趟快車甚是后悔,于是打算寫一個(gè)可不定期推...
摘要:很多人將這一波的上漲解讀為比特幣小牛市的到來,無論從技術(shù)層面還是從消息層面來看,比特幣都有逐步回暖的跡象。到日,關(guān)于英雄鏈網(wǎng)絡(luò)詐騙案被破獲的報(bào)道便鋪天蓋地地傳播開來。 摘要:不在風(fēng)口上,長了翅膀的項(xiàng)目同樣可以起飛,價(jià)值終究會(huì)超越時(shí)間。 showImg(https://segmentfault.com/img/bVbrS0N?w=4096&h=3575); 自四月初以來,比特幣就開啟了起...
摘要:很多人將這一波的上漲解讀為比特幣小牛市的到來,無論從技術(shù)層面還是從消息層面來看,比特幣都有逐步回暖的跡象。到日,關(guān)于英雄鏈網(wǎng)絡(luò)詐騙案被破獲的報(bào)道便鋪天蓋地地傳播開來。 摘要:不在風(fēng)口上,長了翅膀的項(xiàng)目同樣可以起飛,價(jià)值終究會(huì)超越時(shí)間。 showImg(https://segmentfault.com/img/bVbrS0N?w=4096&h=3575); 自四月初以來,比特幣就開啟了起...
摘要:加密數(shù)字貨幣價(jià)格巔峰,區(qū)塊鏈成二線企業(yè)股價(jià)春藥年月日,是區(qū)塊鏈行業(yè)的高光時(shí)刻,整個(gè)加密數(shù)字貨幣市值億美元,人民幣近萬億元。直接原因是,當(dāng)日,中網(wǎng)載線剛剛宣布與井通網(wǎng)絡(luò)科技有限公司合作開展區(qū)塊鏈產(chǎn)業(yè)。 加密數(shù)字貨幣價(jià)格巔峰,區(qū)塊鏈成二線企業(yè)股價(jià)春藥 2018 年 1 月 8 日,是區(qū)塊鏈行業(yè)的高光時(shí)刻,整個(gè)加密數(shù)字貨幣市值 8139 億美元,人民幣近 6 萬億元。在 10 天之前,12 ...
摘要:通過入門區(qū)塊鏈本文翻譯自的文章原文地址區(qū)塊鏈可能是繼互聯(lián)網(wǎng)之后最重大和最具突破性的技術(shù)。先不管對(duì)比特幣和其他加密貨幣價(jià)格的瘋狂行情,本文旨在幫助讀者入門區(qū)塊鏈技術(shù)。 通過Python入門區(qū)塊鏈 本文翻譯自 Adil Moujahid 的文章 A Practical Introduction to Blockchain with Python原文地址:http://adilmoujahi...
閱讀 472·2021-11-22 12:05
閱讀 1532·2021-11-17 09:33
閱讀 3579·2021-11-11 16:54
閱讀 2659·2021-10-14 09:49
閱讀 4023·2021-09-06 15:01
閱讀 1821·2019-08-29 17:23
閱讀 693·2019-08-29 14:09
閱讀 712·2019-08-29 12:28