There are 2 prize tracks in the Green Battery Hack
This track has two components
Algorithms will earn money in by trading against live energy data between the 20th of April and the 7th of May.
The final earnings of each team are calculated as:
$$ Earnings = Live Earnings - Baseline Earnings $$
Where baseline earnings are the money earned by the baseline MovingAveragePolicy
on the live dataset (which the competition organizers will run on the live dataset themselves). This policy is defined below and is included in the starting repo.
import pandas as pd
from collections import deque
import numpy as np
from policies.policy import Policy
class MovingAveragePolicy(Policy):
def __init__(self, window_size=5):
"""
Constructor for the MovingAveragePolicy.
:param window_size: The number of past market prices to consider for the moving average (default: 5).
"""
super().__init__()
self.window_size = window_size
self.price_history = deque(maxlen=window_size)
def act(self, external_state, internal_state):
market_price = external_state['price']
self.price_history.append(market_price)
if len(self.price_history) == self.window_size:
moving_average = np.mean(self.price_history)
if market_price > moving_average:
charge_kW = -internal_state['max_charge_rate']
else:
charge_kW = internal_state['max_charge_rate']
else:
charge_kW = 0
return 0, charge_kW
def load_historical(self, external_states: pd.DataFrame):
for price in external_states['price'].values:
self.price_history.append(price)
The Innovation Prize will go to the most innovative use of machine learning for energy trading. 1st and 2nd places will be awarded according to set judging criteria. These Criteria are below:
Social Good: If implemented at scale could this solution lead to socially positive outcomes, such as reduced energy prices for Australian households, or reduced emissions?
Innovation: Does this solution do something new and exciting with machine learning which pushes the bound of what is being done currently with energy trading?
Commercial Viability: Is there a clear path for this solution to be used to trade energy in a way that is commercially sustainable?
Execution: Was the machine learning solution implemented correctly? Did it trade as it was expected to? Were those trades effective? Even if the algorithm did not make the most money, if it successfully did something else, such as always charging when the market was green, or responding very quickly to sharp increases or decreases in price.