Qc
Qc is a command line tool that lets you sync and run your QuantConnect backtests.
Installation
Qc is distributed as a ruby gem. You can install it with:
gem install qc
Qc requires Ruby version 2.3 or greater.
Workflow
- Run
qc loginfor introducing your QuantConnect credentials - Run
qc initon the directory that contains your QuantConnect algorithm - Execute
qcto sync and backtest your algorithm in QuantConnect
Usage
Default (no command provided)
When no command is provided, it will push your changes to QuantConnect, compile the project and run a backtest.
qc
qc --open # To open the results in QuantConnect while running the backtestThis is equivalent to executing qc push, qc compile and qc backtest in sequence.
Single commands
qc [command]The supported commands are:
| Command | Description |
|---|---|
qc login |
It will ask for the API credentials you can find in your QuantConnect account page. They will be stored in ~/.qc. You only need to login once. |
qc logout |
Logout from QuantConnect clearing the credentials stored locally. |
qc init |
Initialize the directory of the algo project you are working on. It will ask for a QuantConnect project to link your algo with. You need to run this once for every project you want to sync with QuantConnect. |
qc push |
Send your local files to QuantConnect. It will only send the files that changed since the last time you run the command |
qc compile |
Compile your project in QuantConnect |
qc backtest |
Run the backtest of your algorithm in QuantConnect |
qc open |
Open the latest results in QuantConnect (only MacOS) |
Opening the results in QuantConnect (only MacOS)
If you pass --open when running a backtest, it will open the results in QuantConnect while the backtest is running:
qc --open
qc backtest --openThis option only works in MacOS. quantconnect.com currently doesn't offer an URL endpoint to open backtest results. In MacOS, it will use an Automator workflow that will open the project and show its latest results by simulating a click on the corresponding option. See this discussion.
Support for importing trades into Tradervue (experimental)
Tradervue is a powerful trading journal system. It can be very helpful for analyzing your backtests. In addition to a ton of analytics and reporting features, it lets you see your trade executions in charts.
Qc lets you import each backtest results into tradervue. In tradervue, it will tag the executions with the backtest name.
To enable tradervue imports you must:
- Use the
--tradervueflag when running your backtest - Set
TRADERVUE_LOGINandTRADERVUE_PASSWORDas environment variables
For example:
TRADERVUE_LOGIN=<your tradervue login> TRADERVUE_PASSWORD=<your tradervue password> qc --tradervueAfter running the backtest, it will open the results in tradervue automatically (only MacOS).
Development
After checking out the repo, run bin/setup to install dependencies. Then, run rake test to run the tests. You can also run bin/console for an interactive prompt that will allow you to experiment.
To install this gem onto your local machine, run bundle exec rake install. To release a new version, update the version number in version.rb, and then run bundle exec rake release, which will create a git tag for the version, push git commits and tags, and push the .gem file to rubygems.org.
License
The gem is available as open source under the terms of the MIT License.