Skip to content

javiergarciad/fx-data-downloader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Fx Data Downloader

 

FX Tick Data Downloader

Github top language Github language count Repository size License

About   |   Technologies   |   Requirements   |   Starting   |   License   |   Author


🎯 About

This script will download tick data for some FX pairs from FXCM into a SQLlite database.

Tick data can be used to backtest trading strategies.

FXCM offer market data from a public repository at https://github.com/fxcm/MarketData.

Tick data is available for free for some pairs. Other paid data is also available.

🚀 Technologies

The following tools were used in this project:

✅ Requirements

Before starting 🏁, you need to have Git and Python3 installed.

🏁 Starting

# Clone this project
$ git clone https://github.com/javiergarciad/fx-data-downloader

# Access
$ cd fx-data-downloader

# Create a virtual environment using your preferred tool (e.g., venv, conda, etc.). For example, using venv:
$ python -m venv .venv

# Activate the virtual environment:
  # On windows:
  $ .\env\Scripts\activate
  # On Linux
  $ source env/bin/activate

# Installl the required dependencies from the requirements.txt file
$ pip install -r requirements.txt

Execute the script with the desired options. The available options are as follows:

  • -d or --db: Run a new database, delete the old one if exist. This option is a boolean flag and defaults to False.
  • -m or --mp: Enable the multiprocessing option. This option is a boolean flag and defaults to False.
  • -t or --tk: Provide a list of tickets. This option accepts multiple values separated by spaces. If not provided, all tickets in the database will be updated.
  • -s or --start-date: The date to start getting the data. Default to 2019-01-01 as this is the date FXCM is providing data from. Use format YYYY-MM-DD.
  • -e or --end-date: The date to end the update. Default to the last day of last month. Use format YYYY-MM-DD.

Example usage:

python run.py -d -m -t EURUSD GBPUSD

This command will run the script with the database and multiprocessing options enabled, and the tickets set to "EURUSD" and "GBPUSD".

  • If you don't provide the -t option, the script will default to updating all tickets available in the database.
  • If you don-t provide a start date it will default to 2019-01-01.
  • If you don't provide a end date it will default to the last day of last month from today.

📝 License

This project is under license from MIT. For more details, see the LICENSE file.

Made with ❤️ by Javier Garcia

 

Back to top