TradingMate’s documentation¶
Introduction¶
TradingMate is an autonomous trading system that uses customised strategies to trade in the London Stock Exchange market. This documentation provides an overview of the system, explaining how to create new trading strategies and how to integrate them with TradingMate. Explore the next sections for a detailed documentation of each module too.
System Overview¶
TradingMate is a portfolio manager with the goal to help traders to record their trades and deals in the stock market providing useful statistics and metrics to help backtest and review trade performance. It offers a simple user interface that provide information about the current asset value, the overall profit/loss indicator and the trade history.
TradingMate¶
TradingMate is the main entiy used to initialised all the components. It is the link between the user interface and the data.
TODO
Modules¶
Each section of this document provides the source code documentation of each component of TradingMate.
TradingMate¶
Model¶
The Model
module contains the business logic and the data management of
TradingMate.
Holding¶
Portfolio¶
DatabaseHandler¶
-
class
Model.DatabaseHandler.
DatabaseHandler
(config, trading_log_path)[source]¶ Handles the IO operation with the database to handle persistent data
StockPriceGetter¶
UI¶
The UI
module contains the components that compose the User Interface
of TradingMate.
DataInterface¶
TradingMateClient¶
-
class
UI.TradingMateClient.
TradingMateClient
(server)[source]¶ Client interface to the TradingMate business logic
-
is_portfolio_auto_refreshing
(portfolio_id)[source]¶ Return True if portfolio has data auto refresh enabled, False otherwise
-
Utils¶
The Utils
module contains all the utlity components.
ConfigurationManager¶
TaskThread¶
-
class
Utils.TaskThread.
TaskThread
[source]¶ Thread that executes a task every N seconds
-
run
()[source]¶ Method representing the thread’s activity.
You may override this method in a subclass. The standard run() method invokes the callable object passed to the object’s constructor as the target argument, if any, with sequential and keyword arguments taken from the args and kwargs arguments, respectively.
-
Trade¶
Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[2.1.0] - 2020-01-12¶
Changed¶
Replaced TK user interface with GTK+ 3
Tickers prices are fetched using
alpha-vantage
Python modulealpha_vantage_polling_period configuration parameter is used to wait between each AV call
AlphaVantage http requests are thread safe
Added¶
Status bar showing portfolio filepath
Button to open a new window tailing the current application log file
[2.0.0] - 2019-12-14¶
Changed¶
Issue37 - Improved installation process and dependencies setup
Updated default .credentials configured path
Re-design of system architecture and API
Edited Portfolios are not saved automatically and a warning is displayed
Added¶
Added Pipfile to manage python dependencies
Added
FEE
actionAdded
notes
field in tradeSupport load of multiple portfolios
Save As and Save buttons per portfolio