跳到主要內容

簡易檢索 / 詳目顯示

研究生: 陳維睿
Chen, Wei-Rui
論文名稱: 運用LSTM進行Bitcoin價格預測
Applying LSTM to Bitcoin price prediction
指導教授: 胡毓忠
Hu, Yuh-Jong
口試委員: 葉慶隆
Yeh, Ching-Long
蔡銘峰
Tsai, Ming-Feng
學位類別: 碩士
Master
系所名稱: 資訊學院 - 資訊科學系
Department of Computer Science
論文出版年: 2018
畢業學年度: 106
語文別: 英文
論文頁數: 42
中文關鍵詞: 長短期記憶比特幣區塊鏈
外文關鍵詞: Long Short-Term Memory, Bitcoin, Blockchain
DOI URL: http://doi.org/10.6814/THE.NCCU.CS.005.2018.B02
相關次數: 點閱:271下載:64
分享至:
查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報
  • 本論文運用長短期記憶模型(Long Short-Term Memory, LSTM) 來預測比特幣(Bitcoin)價格走向。特徵值資料包含內部及外部特徵值,各抽取自比特幣區塊鏈以及交易中心。
    加密貨幣是一種新型態的貨幣,其交易運行在網路中。在所有加密貨幣中,比特幣(Bitcoin, BTC)是第一個加密貨幣,且目前擁有最高的市值。預測比特幣價格是一個新興的研究題目,因為其與傳統金融資產有所差異,且其價格非常波動。
    本論文對比特幣區塊鏈資料處理方法提出指引,並將長短期記憶模型實務應用到比特幣價格預測。


    This thesis focuses on applying Long Short-Term Memory (LSTM) technique to predict Bitcoin price direction. Features including internal and external features are extracted from Bitcoin blockchain and exchange center respectively.
    Cryptocurrency is a new type of currency that is traded over the infrastructure of Internet. Bitcoin (BTC) is the first cryptocurrency and ranks first in the market capitalization among all the other cryptocurrencies. Predicting Bitcoin price is a novel topic because of its differences with traditional financial assets and its volatility.
    As contributions, this thesis provides a guide of processing Bitcoin blockchain data and serves as an empirical study on applying LSTM to Bitcoin price prediction.

    1 Introduction 1
    1.1 Research Objective 1
    1.2 Deep Learning on Time Series data 1
    1.3 Predicting Bitcoin Price 2
    1.4 Related Works 4
    2 LSTM on Time Series Data 5
    2.1 Neural Network and Deep Learning 5
    2.2 Recurrent Neural Network 6
    2.3 Long Short-Term Memory 7
    2.4 Training an LSTM Network 9
    2.4.1 Loss Function 9
    2.4.2 Gradient Descent 10
    2.4.3 Backpropagation and Backpropagation Through Time 11
    2.4.4 Hyperparamter tuning 11
    2.4.4.1 Dropout Rate 12
    2.4.4.2 Neural Network Optimization Algorithm 12
    3 Bitcoin and Blockchain 14
    3.1 Bitcoin on Blockchain 14
    3.2 Bitcoin as a Cryptocurrency 15
    3.3 Mining Bitcoin 17
    4 Machine Learning Pipeline 19
    4.1 Pipeline 19
    4.2 Data Collection 20
    4.2.1 Collecting Bitcoin Blockchain Data 20
    4.2.2 Collecting Data from Exchange Center 21
    4.3 Data Cleaning 21
    4.4 Data Processing 22
    4.4.1 Internal Features Extraction 22
    4.4.2 External Features Extraction 22
    4.4.3 Align and Combine Internal and External Features 23
    4.4.4 Min-Max Normalization 23
    4.4.5 Train/Validation/Test Split 24
    5 Methodology 25
    5.1 Tools and Platform 25
    5.2 Experiments 25
    5.2.1 Dataset Summary 25
    5.2.2 Neural Network Architecture 26
    5.2.3 Hyperparameter Tuning 28
    5.3 Results 30
    5.3.1 Performance Comparison with Related Works 30
    6 Conclusion and Future Work 32
    6.1 Conclusion 32
    6.2 Future work 33
    Appendices 34
    A 34
    B 36
    References 39

    [1] S. Hochreiter and J. Schmidhuber, “Long short-term memory,” Neural Computation, vol. 9, no. 8, 1997.
    [2] S. Nakamoto, “Bitcoin: A peer-to-peer electronic cash system,” 2009.
    [3] I. Goodfellow, Y. Bengio, and A. Courville, Deep Learning. MIT Press, 2016.
    [4] Y. LeCun, Y. Bengio, and G. Hinton, “Deep learning,” Nature, vol. 521, 2015.
    [5] F. A. Gers, J. A. Schmidhuber, and F. A. Cummins, “Learning to forget: Continual prediction with lstm,” Neural Comput., vol. 12, no. 10, 2000.
    [6] S. J. Taylor, An Introduction to Volatility. Princeton University Press, 2005.
    [7] Investopedia. Volatility. [Online]. Available: https://www.investopedia.com/terms/v/volatility.asp
    [8] W. Huang, Y. Nakamori, and S.-Y. Wang, “Forecasting stock market movement direction with support vector machine,” Computers & Operations Research, vol. 32, no. 10, 2005.
    [9] S. A. Hamid and Z. Iqbal, “Using neural networks for forecasting volatility of sp 500 index futures prices,” Journal of Business Research, 2004.
    [10] A. Vejendla and D. Enke, “Evaluation of garch, rnn and fnn models for forecasting volatility in the financial markets,” IUP Journal of Financial Risk Management, vol. 10, no. 1, 2013.
    [11] R. Akita, A. Yoshihara, T. Matsubara, and K. Uehara, “Deep learning for stock prediction using numerical and textual information,” in 2016 IEEE/ ACIS 15th International Conference on Computer and Information Science (ICIS), 2016.
    [12] M. Matta, M. I. Lunesu, and M. Marchesi, “Bitcoin spread prediction using social and web search media,” in UMAP Workshops, 2015.
    [13] I. Madan and S. Saluja, “Automated bitcoin trading via machine learning algorithms,” Stanford University, 2014.
    [14] A. Greaves and B. Au, “Using the bitcoin transaction graph to predict the price of bitcoin,” Stanford University, 2015.
    [15] S. McNally, “Predicting the price of bitcoin using machine learning,” Master’s thesis, Dublin, National College of Ireland, 2016.
    [16] H. Jang and J. Lee, “An empirical study on modeling and prediction of bitcoin prices with bayesian neural networks based on blockchain information,” IEEE Access, vol. 6, 2018.
    [17] Y. Bengio, “Learning deep architectures for ai,” Foundations and Trends® in Machine Learning, vol. 2, no. 1, 2009.
    [18] Y. Bengio, A. Courville, and P. Vincent, “Representation learning: A review and new perspectives,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 35, no. 8, 2013.
    [19] J. L. Elman, “Finding structure in time,” Cognitive Science, vol. 14, no. 2, 1990.
    [20] Z. C. Lipton, “A critical review of recurrent neural networks for sequence learning,” CoRR, vol. abs/1506.00019, 2015.
    [21] A. Graves, Supervised Sequence Labelling with Recurrent Neural Networks. Springer-Verlag Berlin Heidelberg, 2012.
    [22] K. Greff, R. K. Srivastava, J. Koutník, B. R. Steunebrink, and J. Schmidhuber, “LSTM: A search space odyssey,” CoRR, vol. abs/1503.04069, 2015.
    [23] Wikipedia contributors, “Loss functions for classification — Wikipedia, the free encyclopedia,” 2018. [Online]. Available: https://en.wikipedia.org/w/index.php?title=Loss_functions_for_classification&oldid=838253245
    [24] Wikipedia contributors, “Gradient descent — Wikipedia, the free encyclopedia,” 2018. [Online]. Available: https://en.wikipedia.org/w/index.php?title=Gradient_descent&oldid=845809247
    [25] R. Rojas, Neural Networks: A Systematic Introduction. Berlin, Heidelberg: Springer-Verlag, 1996.
    [26] J. Bergstra and Y. Bengio, “Random search for hyper-parameter optimization,” J. Mach. Learn. Res., vol. 13, 2012.
    [27] N. Srivastava, G. Hinton, A. Krizhevsky, I. Sutskever, and R. Salakhutdinov, “Dropout: A simple way to prevent neural networks from overfitting,” Journal of Machine Learning Research, vol. 15, 2014.
    [28] S. Ruder, “An overview of gradient descent optimization algorithms,” CoRR, vol. abs/1609.04747, 2016.
    [29] D. P. Kingma and J. Ba, “Adam: A method for stochastic optimization,” CoRR, vol. abs/1412.6980, 2014.
    [30] S. Dziembowski, “Introduction to cryptocurrencies,” 2015.
    [31] I. Bentov, A. Gabizon, and A. Mizrahi, “Cryptocurrencies without proof of work,” CoRR, vol. abs/1406.5694, 2014.
    [32] Proof of work. [Online]. Available: https://en.bitcoin.it/wiki/Proof_of_work
    [33] A. Narayanan, J. Bonneau, E. W. Felten, A. Miller, S. Goldfeder, and J. Clark, Bitcoin and Cryptocurrency Technologies. Princeton University Press, 2016.
    [34] Gdax exchange center documentation. [Online]. Available: https://docs.gdax.com/
    [35] blockchain.info. [Online]. Available: https://blockchain.info/
    [36] T. Hastie, R. Tibshirani, and J. Friedman, The Elements of Statistical Learning. Springer New York Inc., 2001.
    [37] Keras. [Online]. Available: https://keras.io/
    [38] Nvidia. [Online]. Available: http://www.nvidia.com/page/home.html
    [39] A. Karpathy, “The unreasonable effectiveness of recurrent neural networks,” 2015. [Online]. Available: http://karpathy.github.io/2015/05/21/rnn-effectiveness/

    QR CODE
    :::