cryptomancer
cryptomancer copied to clipboard
cryptomancer
cryptomancer is a Python library for automating cryto trades.
Disclosures
Don't use this software.

Installation
You'll first need to install the cryptomancer library.
>>> git clone [email protected]: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.
Secrets
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.
Setting up the Database
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
Example Usage
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.
Contributing
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.