Skip to main content

Akademy

Akademy is a module containing composable object classes for developing reinforcement learning algorithms focused on quantitative trading and time-series forecasting. This module is a work-in-progress and should, at no time, be assumed to be designed well or be free of bugs.

Overview

Akademy is designed using an Agent-Environment model such that Agent-class objects ingest information from Environment-class objects (Env), produce an Action, which is then applied to the Environment which results in a change in State and possible reward to offer feedback to the agent.

Note: this module does not provide any training routines -- only the object class that can be used to support the implementation of custom training routines.

Getting Started

To install academy use the following command in the desired Python 3.7+ environment:

pip install academy

Once installed, developers will have access to Agent, TradeEnv, and Network class objects in which to design Reinforcement Learning algorithms to train models.

Sample training routine:

from akademy.models.envs import TradeEnv
from akademy.models.agents import DQNAgent
from akademy.common.utils import load_spy_daily

# loads the dataset used during training
data = load_spy_daily(count=2500)

# load the Trading Environment
env = TradeEnv(
    data=data,
    window=50,
    asset="spy",
)

# load the agent to train
agent = DQNAgent(
    env=env
)

# load user-defined training routine
training_routine(
    agent=agent,
    env=env
)

Tests

Unit testing can be run via the following command:

python -m unittest

Available Data

This module comes with minimal data for Agents and Environments to train on. The current data available is listed below, along with sources for the most up-to-date versions as well:

1. S&P500

Location: /data/SPY.CSV
Start: 1993-01-29
End: 2022-09-06
Total Rows: 7,454 (excludes header)
Header: Date,Open,High,Low,Close,Adj Close,Volume
Source: https://finance.yahoo.com/quote/SPY/history?p=SPY

note: Any data can be used easily enough via conversion into a Pandas DataFrame object, but must contain information for date and pricing data for open, high, low, and close as well as volume such that each row has at least those 6 features or the latter 5 and an index representative of date.

Notes

Gym vs. Gymnasium

The Gym project by OpenAI has been sunset and now maintained as Gymnasium by the Farama-Foundation. The Env classes present here make use of the newer Gymnasium package which, among other differences, produces an extra item in the step method indicating whether an environment has been truncated. See here

PyTorch

PyTorch requires some additional consideration for setup depending on use-case. Akademy uses an approach whereby CPU-based training and inferences are possible via parameterized function calls. However, GPU use (e.g. CUDA) requires local considerations. [See here] (https://pytorch.org/get-started/locally/) for a more in-depth discussion and guide.

This module currently uses the 1.* version, though a 2.* version release is imminent and an upgrade to that version is planned.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

akademy-0.1.1.tar.gz (20.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

akademy-0.1.1-py3-none-any.whl (24.3 kB view details)

Uploaded Python 3

File details

Details for the file akademy-0.1.1.tar.gz.

File metadata

  • Download URL: akademy-0.1.1.tar.gz
  • Upload date:
  • Size: 20.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for akademy-0.1.1.tar.gz
Algorithm Hash digest
SHA256 b62905dd12e97866c0c75271e6f8fc9131b391899655566192cdd0e97e312fea
MD5 d8594a62598be009101bb6d2ec8d8556
BLAKE2b-256 6cb39476e018d2364cf678454213eac85c72f32a6523de8d3fed83720f565b53

See more details on using hashes here.

File details

Details for the file akademy-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: akademy-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 24.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.8.10

File hashes

Hashes for akademy-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 db2c929ed886272c906b332028df373aa8636d9c77be38671cb8857101a152c8
MD5 c9928b7a6396e0e69b9b59fb53fd3d77
BLAKE2b-256 228636285aa744c94aa9a6238aeeb43cba3749c59b0f9433ca7792dcf0f79880

See more details on using hashes here.

Release history Release notifications | RSS feed

0.1.51

2 files

0.1.50

2 files

0.1.48

2 files

0.1.47

2 files

0.1.46

2 files

0.1.45

2 files

0.1.44

2 files

0.1.43

2 files

0.1.42

2 files

0.1.41

2 files

0.1.5

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

This release

0.1.1 This release

2 files

0.1.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page