- Run predictoor bot - make predictions, make $
- Run trader bot - consume predictions, trade, make $
(If you're a predictoor or trader, you can safely ignore the rest of this README.)
A "ppss" yaml file, like ppss.yaml
, holds parameters for all bots and simulation flows.
- We follow the idiom "pp" = problem setup (what to solve), "ss" = solution strategy (how to solve).
PRIVATE_KEY
is an exception; it's set as an envvar.
When you run a bot from the CLI, you specify your PPSS YAML file.
pdr has basic stdout logging, but supports customisations.
To customise logging, copy and edit the existing logging.yaml
:
cp logging.yaml my_logging.yaml
(First, install pdr-backend first.)
To see CLI options, in console:
pdr
This will output something like:
Usage: pdr sim|predictoor|trader|..
Main tools:
pdr sim YAML_FILE
pdr predictoor YAML_FILE NETWORK
pdr trader APPROACH YAML_FILE NETWORK
...
- Get tokens: testnet faucet, mainnet ROSE & OCEAN
- Claim payout for predictoor bot
- Predictoor subgraph. Subgraph filters
- Run barge locally
- Backend-dev - for
pdr-backend
itself - Run dfbuyer bot - runs Predictoor DF rewards
- Run publisher - publish new feeds
- Run trueval - run trueval bot
- Run lake - run data lake
This repo implements all bots in Predictoor ecosystem. Here are each of the sub-directories in the repo.
Main bots & user tools:
predictoor
- submit individual predictionstrader
- buy aggregated predictions, then tradesim
- experiments / simulation flowpayout
- OCEAN & ROSE payout
OPF-run bots & higher-level tools:
trueval
- report true values to contractdfbuyer
- buy feeds on behalf of Predictoor DFpublisher
- publish pdr data feedsdeployer
- deployer tool
Mid-level building blocks:
cli
- implementation of CLIppss
- implements settings
Data-level building blocks:
ohlcv
- financial data pipelineaimodel
- AI/ML modeling enginelake
- data lake and analytics toolssubgraph
- blockchain queries, complements lakeaccuracy
- to report % correct in webapppred_submitter
- for predictoor bots to submit >>1 predictions in 1 tx
Lower-level utilities:
contract
- classes to wrap blockchain contracts; some simple data structuresutil
- function-based tools