適合人群
- 已經(jīng)學(xué)過(guò)python基礎(chǔ)的
- 在學(xué)python編程康嘉,想找一個(gè)實(shí)戰(zhàn)練習(xí),檢驗(yàn)自己的
- 對(duì)區(qū)塊鏈籽前,比特幣有學(xué)習(xí)興趣的
- 自學(xué)能力強(qiáng)
注意事項(xiàng)
- 不要直接抄代碼亭珍,請(qǐng)自己按思路編寫(xiě)
- 給自己設(shè)定比文章難一點(diǎn)點(diǎn)的額外任務(wù),來(lái)點(diǎn)小刺激
參考資料
原始鏈接?
https://blog.csdn.net/weixin_37272286/article/details/78032131
- okcoin
- huobi
- https://www.okcoin.cn/rest_api.html
- https://github.com/huobiapi/API_Docs/wiki/REST-Interval
交易所概念
http://baijiahao.baidu.com/s?id=1579175614310713604&wfr=spider&for=pc
值得注意的是枝哄,比特幣在國(guó)內(nèi)外各家交易所的價(jià)格都不相同肄梨,這就誕生了一門新的生意——“搬磚”。所謂比特幣搬磚挠锥,就是把比特幣在不同交易所之間騰挪众羡,賺取差價(jià)套利
比特幣交易所停運(yùn)對(duì)于海外的比特幣衍生品也是利好。注冊(cè)在塞舌爾群島蓖租,美國(guó)運(yùn)營(yíng)的一家比特幣商品交易所BitMEX相關(guān)人士對(duì)澎湃新聞表示粱侣,每次中國(guó)央行加強(qiáng)監(jiān)管,他們平臺(tái)的交易量就會(huì)暴漲蓖宦,究其原因齐婴,是因?yàn)橹袊?guó)有些比特幣持有者不愿意拋掉手中的幣,選擇觀望稠茂,但是也不甘心貶值柠偶,所以會(huì)選擇與美股掛鉤的衍生品工具來(lái)對(duì)沖風(fēng)險(xiǎn)
下一步計(jì)劃
做自動(dòng)交易(量化交易基礎(chǔ))
怎么讀取交易所行情
# Request
GET https://www.okcoin.cn/api/v1/ticker.do?symbol=ltc_cny
# Response
{
"date":"1410431279",
"ticker":{
"buy":"33.15",
"high":"34.15",
"last":"33.15",
"low":"32.05",
"sell":"33.16",
"vol":"10532696.39199642"
}
}
請(qǐng)自己用瀏覽器,Json.cn, 或shell用curl命令體驗(yàn)一下
以下是代碼實(shí)現(xiàn)
import json
import time
import pandas as pd
import math
import matplotlib.pyplot as plt
def ticker(bit) :
try:
ret = requests.get("https://www.okcoin.cn/api/v1/ticker.do?symbol=" + bit)
ret.text
d = json.loads(ret.text)
print(d)
except :
print('error')
for i in range(10):
ticker('btc_cny')
time.sleep(1)
{'date': '1533278866', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
{'date': '1533278868', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
{'date': '1533278869', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
{'date': '1533278871', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
{'date': '1533278872', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
{'date': '1533278873', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
{'date': '1533278875', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
{'date': '1533278877', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
{'date': '1533278878', 'ticker': {'high': '40303.0', 'vol': '1.626', 'last': '40303.0', 'low': '40303.0', 'buy': '40102.0', 'sell': '40303.0'}}
#找了半天睬关,找了這個(gè)api.hpx.com 接口獲取k線數(shù)據(jù)
ret = requests.get("https://api.hpx.com/data/v2/kline?currency=btc_cnyt")
d = json.loads(ret.text)
kline = d['data']['data']
kline = pd.DataFrame(kline)
kline[0] = kline[0] // 1000
kline[0]
kline[0] = pd.to_datetime(kline[0],unit='s')
x = kline[0]
y = kline[1]
#x,y
plt.plot(x, y)
plt.show()
遇到的坑總結(jié)
- 獲取OKCoin行情诱担,獲取OKCoin交易信息(60條),獲取OKCoin的K線數(shù)據(jù) 應(yīng)該選哪個(gè)接口
- python對(duì)json的處理电爹,需學(xué)習(xí)
- okcoin.cn k線數(shù)據(jù)已經(jīng)為空了该肴!火幣也沒(méi)了!藐不!
- python 整數(shù)除法
- to_datetime方法
需要源代碼請(qǐng)聯(lián)系 "api1024"
自學(xué)交流群:QQ 829163554 純自學(xué)