Backtesting toolset for Steer Protocol
npm install @steerprotocol/steer-toolsetSteer Protocol Developer Toolkit
=================



The Steer toolset is a growing suite of products to help in developing, debugging, and testing bundles for Steer's platform.
In its current stages, the app backtester is the primary feature we expect to be used.
Install via npm or yarn
``sh-session`
$ npm install -g @steerprotocol/steer-toolset
Confirm installation with
`sh-session`
$ steer-toolset (--version)
In Steer's architecture, apps are WebAssembly bundles containing logic for processing optional data and which produce a transaction request for an action to be taken on chain. In this context, strategies are apps configured to interact with one of Steer's Multi Position Concentrated Liquidity Manager Vaults. In the typical automation flow, data connectors are used to provide data to this strategy as inputs; currently we only support recieving the associated pool's trading candles as data inputs for the strategy. Custom data connectors are coming in the near future, but for now (without custom configuration) your strategy should have no data input or one input that takes OHLCV data.
Users can find a strategy on Steer's dapp, clone the template strategy and develop their own logic, or try some of Steer's preset strategies.
For more information reference the documentation:
-Introduction to Steer
-Writing an app
Once you have a strategy you would like to backtest, you can run the test with the following:
`
USAGE
$ steer-toolset app backtest [FILE] [-p
ARGUMENTS
FILE File to load strategy from
FLAGS
-c, --commandLine Use the command line to run the backtest. Useful if you don't want to run the backtest in a browser. Deprecated as only simple config objects are supported.
-p, --pool=
-s, --sleep=
don't want to be rate limited.
EXAMPLES
$ steer-toolset app backtest '../strategy-template-assemblyscript/build/debug.wasm'
`
After running the command a new browser window should open up connected to a local server where you will configure the app and set up the backtest parameters. Try refreshing or filling out more info if things seem to freeze, it is advised to set in the following order:
Protocol → Chain → Pool → DataSet → CandleSize (appears on the graph) → Strategy Config → Simulation Settings
After this you should see a green button to start the simulation:
!Start Button
Once the backtest is complete, check the terminal to see the results!
If you have any problems or sugguestions, please report using Gleap.
There is a small chat button in the bottom left of the browser pop up, follow the prompts, we greatly appreciate it. Feel free to ask questions in our Discord as well.
Clear all cache files and supporting modules. This will delete all datasets you have downloaded. This can be done manually by finding the Steer-toolset in your AppData folder for npm modules and deleting files from the data folder.
`
USAGE
$ steer-toolset doctor
DESCRIPTION
Clear all cache files and supporting modules
EXAMPLES
$ steer-toolset doctor
`
_See code: dist/commands/doctor.ts_
](#steer-toolset-help-command)
* [steer-toolset job [TYPE_OF_JOB]](#steer-toolset-job-type_of_job)
* steer-toolset plugins
* steer-toolset plugins:install PLUGIN...
* steer-toolset plugins:inspect PLUGIN...
* steer-toolset plugins:install PLUGIN...
* steer-toolset plugins:link PLUGIN
* steer-toolset plugins:uninstall PLUGIN...
* steer-toolset plugins:uninstall PLUGIN...
* steer-toolset plugins:uninstall PLUGIN...
* steer-toolset plugins update
* [steer-toolset strategy [FILE]](#steer-toolset-strategy-file)steer-toolset appManage strategies for Steer Protocol
`
USAGE
$ steer-toolset appDESCRIPTION
Manage strategies for Steer Protocol
EXAMPLES
$ steer-toolset app backtest
`_See code: dist/commands/app/index.ts_
steer-toolset app backtest FILEBacktest a strategy against a given data connector
`
USAGE
$ steer-toolset app backtest [FILE] [-p ] [-s ] [-c]ARGUMENTS
FILE File to load strategy from
FLAGS
-c, --commandLine Use command line to run the backtest. Useful if you don't want to run the backtest in a browser.
-p, --pool= Pool which the strategy will be tested against.
-s, --sleep= Sleep setting for pulling historical data in seconds. Useful if pulling large datasets or you
don't want to be rate limited.
DESCRIPTION
Backtest a strategy against a given data connector
EXAMPLES
$ steer-toolset app backtest
`steer-toolset doctorClear all cache files and supporting modules
`
USAGE
$ steer-toolset doctorDESCRIPTION
Clear all cache files and supporting modules
EXAMPLES
$ steer-toolset doctor
`_See code: dist/commands/doctor.ts_
steer-toolset help [COMMAND]Display help for steer-toolset.
`
USAGE
$ steer-toolset help [COMMAND] [-n]ARGUMENTS
COMMAND Command to show help for.
FLAGS
-n, --nested-commands Include all nested commands in the output.
DESCRIPTION
Display help for steer-toolset.
`_See code: @oclif/plugin-help_
steer-toolset job [TYPE_OF_JOB]describe the command here
`
USAGE
$ steer-toolset job [TYPE_OF_JOB] [-n ] [-f]FLAGS
-f, --force
-n, --name= name to print
DESCRIPTION
describe the command here
EXAMPLES
$ steer-toolset job
`_See code: dist/commands/job/index.ts_
steer-toolset pluginsList installed plugins.
`
USAGE
$ steer-toolset plugins [--core]FLAGS
--core Show core plugins.
DESCRIPTION
List installed plugins.
EXAMPLES
$ steer-toolset plugins
`_See code: @oclif/plugin-plugins_
steer-toolset plugins:install PLUGIN...Installs a plugin into the CLI.
`
USAGE
$ steer-toolset plugins:install PLUGIN...ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ steer-toolset plugins add
EXAMPLES
$ steer-toolset plugins:install myplugin
$ steer-toolset plugins:install https://github.com/someuser/someplugin
$ steer-toolset plugins:install someuser/someplugin
`steer-toolset plugins:inspect PLUGIN...Displays installation properties of a plugin.
`
USAGE
$ steer-toolset plugins:inspect PLUGIN...ARGUMENTS
PLUGIN [default: .] Plugin to inspect.
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Displays installation properties of a plugin.
EXAMPLES
$ steer-toolset plugins:inspect myplugin
`steer-toolset plugins:install PLUGIN...Installs a plugin into the CLI.
`
USAGE
$ steer-toolset plugins:install PLUGIN...ARGUMENTS
PLUGIN Plugin to install.
FLAGS
-f, --force Run yarn install with force flag.
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Installs a plugin into the CLI.
Can be installed from npm or a git url.
Installation of a user-installed plugin will override a core plugin.
e.g. If you have a core plugin that has a 'hello' command, installing a user-installed plugin with a 'hello' command
will override the core plugin implementation. This is useful if a user needs to update core plugin functionality in
the CLI without the need to patch and update the whole CLI.
ALIASES
$ steer-toolset plugins add
EXAMPLES
$ steer-toolset plugins:install myplugin
$ steer-toolset plugins:install https://github.com/someuser/someplugin
$ steer-toolset plugins:install someuser/someplugin
`steer-toolset plugins:link PLUGINLinks a plugin into the CLI for development.
`
USAGE
$ steer-toolset plugins:link PLUGINARGUMENTS
PATH [default: .] path to plugin
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Links a plugin into the CLI for development.
Installation of a linked plugin will override a user-installed or core plugin.
e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
command will override the user-installed or core plugin implementation. This is useful for development work.
EXAMPLES
$ steer-toolset plugins:link myplugin
`steer-toolset plugins:uninstall PLUGIN...Removes a plugin from the CLI.
`
USAGE
$ steer-toolset plugins:uninstall PLUGIN...ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ steer-toolset plugins unlink
$ steer-toolset plugins remove
`steer-toolset plugins:uninstall PLUGIN...Removes a plugin from the CLI.
`
USAGE
$ steer-toolset plugins:uninstall PLUGIN...ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ steer-toolset plugins unlink
$ steer-toolset plugins remove
`steer-toolset plugins:uninstall PLUGIN...Removes a plugin from the CLI.
`
USAGE
$ steer-toolset plugins:uninstall PLUGIN...ARGUMENTS
PLUGIN plugin to uninstall
FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Removes a plugin from the CLI.
ALIASES
$ steer-toolset plugins unlink
$ steer-toolset plugins remove
`steer-toolset plugins updateUpdate installed plugins.
`
USAGE
$ steer-toolset plugins update [-h] [-v]FLAGS
-h, --help Show CLI help.
-v, --verbose
DESCRIPTION
Update installed plugins.
`steer-toolset strategy [FILE]describe the command here
`
USAGE
$ steer-toolset strategy [FILE] [-n ] [-f]FLAGS
-f, --force
-n, --name= name to print
DESCRIPTION
describe the command here
EXAMPLES
$ steer-toolset strategy
``_See code: dist/commands/strategy.ts_