在這個(gè)日新月異的數(shù)字化時(shí)代,區(qū)塊鏈技術(shù)和量化交易已經(jīng)成為金融科技領(lǐng)域的兩大重要支柱。區(qū)塊鏈的交易所沒有漲停機(jī)制,724h全球交易,價(jià)格完全由市場(chǎng)決定,支持API自動(dòng)交易,是量化交易者的樂園。目前,主流交易所的很大一部分交易是由量化交易程序自動(dòng)執(zhí)行的。
本書旨在為讀者提供一份詳盡而深入的指南,幫助讀者理解并掌握如何使用Python進(jìn)行區(qū)塊鏈量化交易編程。
本書將帶領(lǐng)讀者走進(jìn)神秘的區(qū)塊鏈量化交易世界,詳細(xì)講解區(qū)塊鏈的基礎(chǔ)知識(shí)、基本概念和術(shù)語,探索幣安和歐易最基礎(chǔ)的交易API的使用方法,包括賬戶查詢、獲取實(shí)時(shí)行情、自動(dòng)下單、設(shè)置止盈止損等基本功能,并加以綜合運(yùn)用,實(shí)現(xiàn)自己的交易策略。所有的示例代碼都是在服務(wù)器上實(shí)際運(yùn)行測(cè)試過的,保證可以順利地將理論知識(shí)轉(zhuǎn)換為實(shí)踐能力。
無論你是金融工程師、數(shù)據(jù)科學(xué)家,還是對(duì)區(qū)塊鏈和量化交易感興趣的初學(xué)者,相信本書都能為你提供寶貴的經(jīng)驗(yàn)和啟示。讓我們一起探索這個(gè)充滿可能性的新世界吧!
本書主要內(nèi)容
第1章介紹區(qū)塊鏈的應(yīng)用現(xiàn)狀,包括區(qū)塊鏈的發(fā)展歷史、主流的區(qū)塊鏈公鏈及區(qū)塊鏈錢包的基本要素和區(qū)塊鏈瀏覽器。
第2章介紹加密貨幣交易所,包括交易所的簡(jiǎn)介、交易所交易界面的介紹及交易所API設(shè)置。
第3章是本書的重點(diǎn)內(nèi)容,詳細(xì)介紹交易所API,包括幣安API和歐易API。
第4章引導(dǎo)讀者入門Python編程,介紹Python的安裝、基本使用及和編寫交易程序相關(guān)的基本語法知識(shí)。
第5章介紹云服務(wù)器的配置,包括服務(wù)器的申請(qǐng)、使用,以及最基本的Linux指令、Git指令簡(jiǎn)介等內(nèi)容。
第6章通過實(shí)戰(zhàn)項(xiàng)目,包括三角套利項(xiàng)目實(shí)戰(zhàn)、MACD及RSI指標(biāo)策略的實(shí)現(xiàn)、Telegram價(jià)格波動(dòng)機(jī)器人的實(shí)現(xiàn)、捕捉行情波動(dòng)策略的實(shí)現(xiàn),幫助讀者將理論知識(shí)轉(zhuǎn)換為實(shí)踐能力。
閱讀建議
本書是一本區(qū)塊鏈量化交易編程的基礎(chǔ)入門、項(xiàng)目實(shí)戰(zhàn)的技術(shù)教程,既包括詳細(xì)的基礎(chǔ)知識(shí)介紹,又提供了豐富的實(shí)際項(xiàng)目開發(fā)案例,包括詳細(xì)的項(xiàng)目開發(fā)步驟,每個(gè)代碼片段都有詳細(xì)的注釋標(biāo)注和對(duì)應(yīng)的操作說明。本書的基礎(chǔ)知識(shí)、項(xiàng)目實(shí)戰(zhàn)及原理剖析部分均提供了完整可運(yùn)行的代碼示例,可以幫助讀者更好地、全方位地學(xué)習(xí)相關(guān)技術(shù)。
建議沒有Python編程基礎(chǔ)的讀者認(rèn)真學(xué)習(xí)第4章的知識(shí); 有Python開發(fā)經(jīng)驗(yàn)的讀者可以跳過第4章。掃描目錄上方二維碼可下載本書源碼。
投資有風(fēng)險(xiǎn)。本書所有代碼與示例僅限于教育用途,并不代表任何投資建議。本書不代表將來的交易會(huì)產(chǎn)生與示例同樣的回報(bào)或虧損。
投資者在做出交易決策之前必須評(píng)估風(fēng)險(xiǎn),確認(rèn)自身可以承受風(fēng)險(xiǎn)方可投資。
由于時(shí)間倉促,書中難免存在疏漏之處,請(qǐng)讀者見諒,并提寶貴意見。
陳林仙2025年1月
區(qū)塊鏈基礎(chǔ)篇
第1章區(qū)塊鏈應(yīng)用現(xiàn)狀
1.1區(qū)塊鏈的發(fā)展歷史
1.1.1比特幣的誕生
1.1.2區(qū)塊鏈底層實(shí)現(xiàn)的算法
1.2主流的區(qū)塊鏈公鏈
1.2.1第1個(gè)公鏈: 比特幣
1.2.2以太坊: 數(shù)字經(jīng)濟(jì)的創(chuàng)新引擎
1.2.3高速單層區(qū)塊鏈Solana
1.2.4生態(tài)完善的BSC智能鏈
1.2.5波場(chǎng)鏈(Tron): 高速公鏈
1.2.6穩(wěn)定幣USDT和USDC
1.3區(qū)塊鏈錢包的基本要素
1.3.1比特幣錢包要素
1.3.2以太坊錢包要素
1.3.3波場(chǎng)錢包要素
1.4區(qū)塊鏈錢包和區(qū)塊鏈瀏覽器
1.4.1主流區(qū)塊鏈錢包和插件
1.4.2主流區(qū)塊鏈瀏覽器
第2章加密貨幣交易所介紹
2.1加密貨幣交易所簡(jiǎn)述
2.1.1什么是中心化交易所
2.1.2什么是去中心化交易所
2.1.3主流中心化交易所有哪些
2.1.4現(xiàn)貨交易
2.1.5合約交易
2.1.6期權(quán)交易
2.2加密貨幣交易所交易界面介紹
2.2.1幣安現(xiàn)貨交易界面
2.2.2幣安現(xiàn)貨交易下單界面
2.2.3幣安合約交易界面
2.2.4幣安合約交易下單界面
2.2.5歐易幣幣交易界面
2.2.6歐易U本位合約交易界面
2.2.7歐易合約交易下單界面
2.3交易所API設(shè)置
2.3.1幣安API設(shè)置界面
2.3.2歐易API設(shè)置界面
第3章交易所API介紹
3.1API功能簡(jiǎn)述
3.2幣安API
3.2.1幣安現(xiàn)貨API
3.2.2查詢現(xiàn)貨錢包余額API
3.2.3現(xiàn)貨深度信息API
3.2.4現(xiàn)貨有限深度信息WebSocket API
3.2.5現(xiàn)貨K線數(shù)據(jù) API
3.2.6現(xiàn)貨K線數(shù)據(jù)WebSocket API
3.2.7現(xiàn)貨下單API
3.2.8現(xiàn)貨查詢訂單信息API
3.2.9現(xiàn)貨取消訂單API
3.2.10應(yīng)用示例: 現(xiàn)貨API綜合應(yīng)用
3.2.11幣安合約API
3.2.12合約深度信息API
3.2.13合約有限深度信息WebSocket API
3.2.14合約K線API
3.2.15合約K線數(shù)據(jù)WebSocket API
3.2.16合約查詢余額API
3.2.17合約設(shè)置逐倉全倉API
3.2.18合約設(shè)置杠桿倍數(shù)API
3.2.19合約下單API
3.2.20合約查詢訂單API
3.2.21合約取消訂單API
3.2.22應(yīng)用示例: 合約API綜合應(yīng)用
3.3歐易API
3.3.1查詢錢包余額API
3.3.2設(shè)置逐倉模式API
3.3.3設(shè)置杠桿倍數(shù)API
3.3.4獲取深度信息API
3.3.5獲取K線數(shù)據(jù)API
3.3.6幣幣市價(jià)下單API
3.3.7幣幣限價(jià)下單API
3.3.8合約市價(jià)開倉和平倉API
3.3.9合約限價(jià)開倉API
3.3.10合約止盈止損單API
3.3.11查詢訂單信息API
3.3.12取消訂單API
3.3.13應(yīng)用示例
實(shí)戰(zhàn)操作篇
第4章Python編程基礎(chǔ)
4.1Python簡(jiǎn)介
4.2Python安裝
4.3Python集成開發(fā)環(huán)境
4.4Python包管理工具pip用法
4.5Python基本語法
4.5.1Python的變量和數(shù)據(jù)類型
4.5.2Python數(shù)據(jù)類型轉(zhuǎn)換
4.5.3Python的注釋
4.5.4Python的運(yùn)算符
4.5.5Python的列表
4.5.6Python的字典數(shù)據(jù)
4.5.7Python的條件控制
4.5.8Python的循環(huán)語句
4.5.9Python的函數(shù)
4.5.10Python的命令行參數(shù)
4.5.11捕捉異常
4.5.12Python的異步編程
第5章云服務(wù)器的配置和使用
5.1云服務(wù)器簡(jiǎn)介
5.2亞馬遜AWS EC2主機(jī)申請(qǐng)
5.3Linux系統(tǒng)簡(jiǎn)介
5.4Linux系統(tǒng)目錄結(jié)構(gòu)
5.5Linux常用操作指令
5.5.1創(chuàng)建目錄指令
5.5.2改變目錄指令
5.5.3顯示目錄中包含的文件和子目錄的指令
5.5.4創(chuàng)建Python程序文件指令
5.5.5運(yùn)行Python程序文件指令
5.5.6程序運(yùn)行結(jié)果保存到日志文件指令
5.5.7中止程序運(yùn)行
5.5.8程序后臺(tái)運(yùn)行指令
5.5.9查看后臺(tái)運(yùn)行程序的指令
5.5.10關(guān)閉后臺(tái)運(yùn)行程序的指令
5.5.11刪除文件或目錄的指令
5.5.12移動(dòng)文件或目錄的指令
5.5.13查看文本文件內(nèi)容指令
5.5.14查看文本文件頭部?jī)?nèi)容指令
5.5.15查看文本文件尾部?jī)?nèi)容指令
5.6Git指令介紹
5.6.1計(jì)算機(jī)端安裝Git
5.6.2服務(wù)器端安裝Git
5.6.3注冊(cè)Gitee賬號(hào)并創(chuàng)建倉庫
5.6.4計(jì)算機(jī)端創(chuàng)建倉庫
5.6.5服務(wù)器端拉取倉庫代碼
第6章項(xiàng)目實(shí)戰(zhàn)
6.1幣安三角套利策略
6.1.1第1步實(shí)現(xiàn)BTCUSDT的交易
6.1.2第2步實(shí)現(xiàn)ETHBTC的交易
6.1.3第3步實(shí)現(xiàn)ETHUSDT的交易
6.1.4三角套利策略的準(zhǔn)備工作
6.2歐易三角套利策略
6.2.1實(shí)現(xiàn)BTCUSDT的交易
6.2.2實(shí)現(xiàn)ETHBTC的交易
6.2.3實(shí)現(xiàn)ETHUSDT的交易
6.2.4三角套利策略的準(zhǔn)備工作
6.3幣安MACD指標(biāo)策略
6.3.1獲取命令行參數(shù)
6.3.2獲取K線數(shù)據(jù)
6.3.3計(jì)算MACD指標(biāo)
6.4歐易MACD指標(biāo)策略
6.4.1獲取K線數(shù)據(jù)
6.4.2使用Pandas計(jì)算MACD指標(biāo)
6.4.3根據(jù)MACD指標(biāo)中的金叉死叉信號(hào)來開倉平倉
6.4.4開倉平倉API
6.5幣安RSI指標(biāo)策略
6.5.1獲取命令行參數(shù)
6.5.2獲取K線數(shù)據(jù)
6.5.3計(jì)算RSI指標(biāo)
6.6歐易R(shí)SI指標(biāo)策略
6.7幣安幣價(jià)波動(dòng)監(jiān)視機(jī)器人
6.7.1注冊(cè)一個(gè)聊天機(jī)器人(Bot)
6.7.2獲取chat_id
6.7.3導(dǎo)入Telegram包
6.7.4用Python編寫聊天機(jī)器人程序
6.8歐易幣價(jià)波動(dòng)監(jiān)視機(jī)器人
6.9幣安捕捉插針策略機(jī)器人
6.9.1獲取K線數(shù)據(jù)
6.9.2實(shí)現(xiàn)下單函數(shù)
6.9.3實(shí)現(xiàn)取消所有訂單函數(shù)
6.9.4實(shí)現(xiàn)取消訂單函數(shù)
6.9.5獲取下單數(shù)量精度函數(shù)
6.9.6獲取價(jià)格精度函數(shù)
6.9.7程序主要邏輯
6.10歐易捕捉插針策略機(jī)器人
6.10.1獲取K線數(shù)據(jù)
6.10.2實(shí)現(xiàn)下單函數(shù)
6.10.3實(shí)現(xiàn)取消訂單函數(shù)
6.10.4獲取下單數(shù)量精度函數(shù)
6.10.5獲取價(jià)格精度函數(shù)
6.10.6程序主要邏輯