Performance Tuning of Expert Advisor Programs for Foreign Exchange Trading Using Reinforcement Learning

碩士 === 國立臺灣海洋大學 === 資訊工程學系 === 107 === In this paper two approaches, i.e. “Deep Q Network (DQN) of Deep Reinforcement Learning” and “Deep Residual Network (DRN) of Deep Learning,” are proposed to improve the effectiveness of existing automated trading strategies. The foreign exchange transaction as...

Full description

Bibliographic Details
Main Authors: KUO, CHAO-LUN, 郭兆倫
Other Authors: Cheng, Shyi-Chyi
Format: Others
Language:zh-TW
Published: 2019
Online Access:http://ndltd.ncl.edu.tw/handle/v5em68
Description
Summary:碩士 === 國立臺灣海洋大學 === 資訊工程學系 === 107 === In this paper two approaches, i.e. “Deep Q Network (DQN) of Deep Reinforcement Learning” and “Deep Residual Network (DRN) of Deep Learning,” are proposed to improve the effectiveness of existing automated trading strategies. The foreign exchange transaction as an example demonstrates the effectiveness of the proposed methods. An expert advisor (EA) is a kind of foreign exchange transaction program that involves a trading strategy inside. EA programs are expected to complete transactions automatically and precisely. The trading strategy of an EA program can be defined by various indicators, or directly using signals from any existing trading programs. Labor work for human-based foreign exchange often requires tedious tape reading. This difficulty can be solved by an EA program, which also avoids the trading decision affected by public opinions of market investment. EA programs are expected to execute the investment strategy inside precisely. On the contrary, EA programs fail in giving correct trading judgment when the recognition accuracy of trading signals is poor. How to improve the accuracy of the trading signal recognition base on technical indicators captured from the data market on the fly is a big challenge. This paper uses two methods to improve the recognition performance of trading signals in EA program, i.e. Deep Q Network and Deep Residual Network. Each method is further divided into four parts: obtaining foreign exchange data from the data market, data pre-processing and cleaning, prediction model training, and prediction model testing. First, we use the predictive model to diagnose the correct trading signals. Next, the system uses the signal transmission bridge to pass the trading signals to the existing automated trading program. This achieves the goal of performance improvement. The experimental environment of the system is implemented on Metatrader 4 using Python. The system is implemented to reduce the probability of the liquidation of stocks which often happen in the well-known Blessing EA program. Both the deep Q network and the deep residual network are proved to be able to avoid the above problem and increase the trading profits. The deep Q network can improve the performance of any kind of EA program, which learns the control of the purchase lot by reinforcement learning. The actions of the system include to trade with one lot, to trade with two lots and to trade with three lots. Experimental results demonstrate the effectiveness of the proposed methods.