
Projects
Welcome Abroad! As an AI enthusiast, I constantly think of some interesting ideas and try to implement them in practice. The following projects were carried out by myself with curiosity. I would like to share with you my findings and hope that it can contribute to the AI community. The projects were not perfect and please feel free to comment on my findings. Also, if you have any good project ideas, I would be more than happy to discuss with you! Enjoy:)
Deep Reinforcement Learning, GRU, Attention Model
Abstract:
This project presented a new combination of Deep Reinforcement Learning algorithms. Prioritized Experience Replay which was proven to be robust in Atari Game revealed strong evidence to improve performance in the timeseries prediction task. In order to imitate the human-like learning instinct, Attention network was combined with encoding-decoding mechanism with the neural network to generate Q-values for the trading actions in this advanced DQN algorithm. Features including the long period of ema line and short period of ema line, MACD, RSI, volume, and time data were added together with the standised stock price to produce trading signals for the model. The new model was compared with traditional EMA strategies and RNN models with Evaluation Metrics including Sharpe Ratio, Win Ratio, Maximum Drawdown/Return and Annualized Return. Inspiring result was obtained when daily data was used.
Recurrent Neural Network, LSTM, Backtesting
Abstract:
This repository aimed at applying a stacked LSTM to generate stock trading signals in order to make profit from the stock markets. The model was written in Python and the neural network was coded with Pytorch. In many academic papers, the market trend of stock price can be predicted by the technical analysis indicators, i.e. RSI, MACD, and EMA. This project made use of these indicators together with the AI algorithm to predict the future price movement. The result was quite interesting. If you are interested to try yourself, from my github post, you can clone all the files and run the 'mainloop.py' for result generation and testing. The hyperparameters can be adjusted in this file as well. All the result will be saved for further analysis. The stock data was downloaded by the 'Yahoo Finance' API in the codes. You need to choose a stock by there 'ticker' and the period that you want to investigate. The train test split can be adjusted in the mainloop.py file.
Instance Segmentation, FCN, Yolo, Mask-R-CNN
Abstract:
Mask-R-CNN was one of the state-of-the-art models for instance segmentation. However, the inference time was critizied to be slow. To make good use of the speed of Yolo V3 model for object detection, I came up with an idea of implementing both the Yolo model and FCN model for this task. Yolo V3 used Darknet-53 is much more faster than the Resnet backbone in the Mask-R-CNN. Also, many algorithms go about this task a little differently however one thing is usually common is that where one would usually find a full-connected layer (FCN), it is replaced by some deconvolutional / upsampling layers. As a result, the output maintains the original size of the image input whilst also highlighting which pixels in the image correspond to which class. My new combined model was innovative. But some adjustments were needed to be made before it can beat the Mask-R-CNN model.