Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 44 additions & 0 deletions Algorithm.Python/BeautifullMagentaDonkey
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# region imports
from AlgorithmImports import *
import pandas as pd
from io import StringIO
# endregion

class BeautifullMagentaDonkey(QCAlgorithm):

def initialize(self):
self.set_start_date(2024, 4, 1)
self.set_end_date(2024, 5, 1)
self.set_cash(10000)
self.symbol = self.add_equity("AAPL", Resolution.DAILY).symbol

csv_data = """date,value
2024-04-01,0.8
2024-04-02,0.9
2024-04-03,0.7
2024-04-04,1.1
2024-04-05,1.3
2024-04-08,1.0
2024-04-09,1.2
2024-04-10,0.9
2024-04-11,1.4
2024-04-12,1.1
"""

self.custom_data = pd.read_csv(StringIO(csv_data), parse_dates=["date"])
self.debug(f"Custom dataset loaded: {len(self.custom_data)} registros")

def on_data(self, data: Slice):
today = self.Time.date()
df = self.custom_data[self.custom_data['date'].dt.date <= today]
if df.empty:
return

latest_value = df.iloc[-1]['value']

if not self.portfolio.invested and latest_value > 1.0:
self.set_holdings(self.symbol, 1)
self.debug(f"{today}: Buy signal (dataset value {latest_value})")
elif self.portfolio.invested and latest_value < 0.8:
self.liquidate()
self.debug(f"{today}: Sell signal (dataset value {latest_value})")