ape-risk: DeFi risk analysis as an ApeWorX plugin
Project description
Quick Start
Tools for analyzing risk in DeFi.
Dependencies
- python3 version 3.8 or greater, python3-dev
Installation
via pip
You can install the latest release via pip
:
pip install ape-risk
via setuptools
You can clone the repository and use setuptools
for the most up-to-date version:
git clone https://github.com/ApeWorX/ape-risk.git
cd ape-risk
python3 setup.py install
Quick Usage
Provides hypothesis strategies to use in fuzz tests.
e.g. Mock prices generated by Geometric Brownian motion:
import numpy as np
from ape_risk import strategies
@given(strategies.gbms(initial_value=1.0, num_points=100000, params=[0, 0.005]))
def test_gbms_param_fuzz(p):
# strat gives a numpy.ndarray of simulated prices for each hypothesis run
assert p.shape == (100000, 1)
assert isinstance(p, np.ndarray)
C = np.asarray([[1, 0.5, 0.8], [0.5, 1, 0.4], [0.8, 0.4, 1]])
scale = np.linalg.cholesky(C).tolist()
@given(strategies.multi_gbms(initial_values=[1.0, 0.9, 0.8], num_points=100000, num_rvs=3, params=[0, 0.005], scale=scale, shift=[0, 0, 0]))
def test_multi_gbms_param_fuzz(p):
# strat gives a numpy.ndarray of multiple simulated prices for each hypothesis run
assert p.shape == (100000, 1, 3)
assert isinstance(p, np.ndarray)
Development
This project is in development and should be considered an alpha. Things might not be in their final state and breaking changes may occur. Comments, questions, criticisms and pull requests are welcomed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
ape-risk-0.1.0a4.tar.gz
(524.2 kB
view details)
Built Distribution
File details
Details for the file ape-risk-0.1.0a4.tar.gz
.
File metadata
- Download URL: ape-risk-0.1.0a4.tar.gz
- Upload date:
- Size: 524.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 983d5125c4c9db153c598e6a879e3c58b33c0b1a6b33d6665703155179184f3b |
|
MD5 | 51a280aea993040d3b35827f347a6f3d |
|
BLAKE2b-256 | 2af91ea80e0c3fc0bab282e8721047d6836649da957c94e3f3c670225e757f41 |
File details
Details for the file ape_risk-0.1.0a4-py3-none-any.whl
.
File metadata
- Download URL: ape_risk-0.1.0a4-py3-none-any.whl
- Upload date:
- Size: 12.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.8.17
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8934af2fd5691402c30a047e03ee41d927771121d44735bd77216d148f2cb9f0 |
|
MD5 | 587f2e19f405027fdb21435342b69cc3 |
|
BLAKE2b-256 | 46c217490715bee07a0689a53d1369adb3fc5e1069971029551ce7d589b08daa |