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 login
for introducing your QuantConnect credentials - Run
qc init
on the directory that contains your QuantConnect algorithm - Execute
qc
to 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 backtest
This 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 --open
This 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
--tradervue
flag when running your backtest - Set
TRADERVUE_LOGIN
andTRADERVUE_PASSWORD
as environment variables
For example:
TRADERVUE_LOGIN=<your tradervue login> TRADERVUE_PASSWORD=<your tradervue password> qc --tradervue
After 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.