An event-driven backtesting system
Project description
AlphaGens
An agent-environment based backtesting framework.
Event-Driven backtesting
class BuyAndHold(BaseStrategy):
def __init__(self, engine, broker, account):
super().__init__(engine, broker, account)
def before_trading_end(self):
if self.current_date == self.trade_dates[0]:
self.account.order_target_pct_to(pd.Series(1, index=["000001"]))
quick start
class BuyAndHold(BaseAgent):
def __init__(self, data):
super().__init__(data)
self.i = -1
def take_action(self, state, date):
self.buffer.append(state)
self.i += 1
if self.i == 0:
target_positions = np.array([0.2 for i in range(5)])
return target_positions
else:
return NO_ACTION
while True:
try:
print(f"current date is {env.current_date}")
action = agent.take_action(state, env.current_date)
next_state, reward, truncated, terminated, info = env.step(action)
state = next_state
returns.append(reward)
except IndexError:
break
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
alphagens-0.5.2.tar.gz
(35.4 kB
view hashes)
Built Distribution
alphagens-0.5.2-py3-none-any.whl
(59.2 kB
view hashes)
Close
Hashes for alphagens-0.5.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21de904e6cdcbe7561f9913be4295f890cb0c1294fcb745ff04f2b46fcb15d82 |
|
MD5 | cf79d8fd54822246211c444de20da8f8 |
|
BLAKE2b-256 | 5e270342c0baa7c031319e538d4ceda800aed7930661a5d0f8984a47332962b3 |