cryptomancer is a Python library for automating cryto trades.
Don't use this software.
You'll first need to install the cryptomancer
library.
>>> git clone git@github.com:choffstein/cryptomancer.git
>>> cd cryptomancer/
>>> python setup.py install
The requirements.txt
file has all the necessary libraries.
Note that a pull request has been submitted to the ftx
library. If it has not been accepted, a fork of the library can found here.
Authentication information for different services is expected to be found in a .secrets/
found in the same root folder where the python scripts are being run.
For code relying upon the cryptomancer.security_master
module, a postgresql server needs to be created. Corresponding authentication information should be kept in .secrets/postgres.json
in the format:
{
"SQL_URL": "YOUR-SQL-URL",
"SQL_PORT": "PORT",
"SQL_DB": "DATABASE-NAME",
"SQL_USER": "USER-NAME",
"SQL_PASSWORD": "PASSWORD"
}
Once the server has been set up, you'll want to use alembic
to create the tables. Make sure to edit the alembic.ini
file to change the sqlalchemy.url
configuration:
sqlalchemy.url = postgresql://user:password@localhost:port/database
You can then call:
alembic upgrade head
First, set up an account and subaccount at FTX. Set up a corresponding API key that has trading permissions. You then need to set up a secrets file that has the API key information. For example, .secrets/ftx_subaccount_1.json
may look something like this:
{
"API_KEY": "YOUR-API-KEY",
"API_SECRET": "YOUR-SECRET-KEY",
"SUBACCOUNT": "SUBACCOUNT-NAME"
}
Code in scripts/ftx_static_cash_and_carry_perpetual.py
then provides example code for executing a static cash and carry trade.
Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.
Please make sure to update tests as appropriate.