class FailedTrades(db.Model): id = db.Column(db.Integer, primary_key=True) date = db.Column(db.String(20), nullable=False) symbol = db.Column(db.String(30), nullable=False) reason = db.Column(db.String(20), nullable=False) summery_id = db.Column(db.Integer, db.ForeignKey('test_summery.id'), nullable=False) def __repr__(self): return f"TradeFailures({self.date}, '{self.symbol}', '{self.type}')"
class TradeActivity(db.Model): id = db.Column(db.Integer, primary_key=True) position = db.Column(db.String(20), nullable=False) symbol = db.Column(db.String(30), nullable=False) tranaction = db.Column(db.String(10), nullable=False) unitprice = db.Column(db.Float, nullable=False) quantity = db.Column(db.Integer, nullable=False) summery_id = db.Column(db.Integer, db.ForeignKey('test_summery.id'), nullable=False) def __repr__(self): return f"TradeActivity('{self.position}', '{self.symbol}', '{self.tranaction}', '{self.unitprice}', '{self.quantity}')"
class MarketData(db.Model): id = db.Column(db.Integer, primary_key=True) symbol = db.Column(db.String(30), nullable=False) date = db.Column(db.String(20), nullable=False) openprice = db.Column(db.Float, nullable=False) highprice = db.Column(db.Float, nullable=False) lowprice = db.Column(db.Float, nullable=False) closeprice = db.Column(db.Float, nullable=False) volumn = db.Column(db.Integer, nullable=False) summery_id = db.Column(db.Integer, db.ForeignKey('market_data_summery.id'), nullable=False) def __repr__(self): return f"MarketData('{self.symbol}', '{self.date}', '{self.openprice}', '{self.highprice}', '{self.lowprice}', '{self.closeprice}', '{self.volumn}')"
class BuyInfo(db.Model): id = db.Column(db.Integer, primary_key=True) buydate = db.Column(db.String(20), nullable=False) symbol = db.Column(db.String(30), nullable=False) buyprice = db.Column(db.Float, nullable=False, default=0) openprice = db.Column(db.Float) highprice = db.Column(db.Float) lowprice = db.Column(db.Float) closeprice = db.Column(db.Float) indicator_id = db.Column(db.Integer, db.ForeignKey('indicator.id'), nullable=False) def __repr__(self): return f"BuyInfo('{self.buydate}', '{self.symbol}', '{self.buyprice}')"
class DailyPositions(db.Model): id = db.Column(db.Integer, primary_key=True) date = db.Column(db.String(20), nullable=False) symbol = db.Column(db.String(30), nullable=False) period = db.Column(db.Integer, nullable=False) unitprice = db.Column(db.Float, nullable=False) quantity = db.Column(db.Integer, nullable=False) position = db.Column(db.Float, nullable=False) gainloss = db.Column(db.Float, nullable=False) summery_id = db.Column(db.Integer, db.ForeignKey('test_summery.id'), nullable=False) def __repr__(self): return f"DailyPositions({self.date}, {self.symbol}, {self.unitprice}, {self.quantity}, {self.position}, {self.period}, {self.gainloss})"
class DailyResults(db.Model): id = db.Column(db.Integer, primary_key=True) date = db.Column(db.String(20), nullable=False) cash = db.Column(db.Integer, nullable=False) holding = db.Column(db.Integer, nullable=False) actualportfolio = db.Column(db.Integer, nullable=False) portfolio = db.Column(db.Integer, nullable=False) leverage = db.Column(db.Float, nullable=False) drawdown = db.Column(db.Float, nullable=False) boughtstocks = db.Column(db.Integer, default=0) returns = db.Column(db.Float, nullable=False) summery_id = db.Column(db.Integer, db.ForeignKey('test_summery.id'), nullable=False) def __repr__(self): return f"TestDailyResults({self.tradingdate}, {self.returns}, {self.cash}, {self.holding}, '{self.acutalportfolio}', {self.portfolio}, {self.leverage}, {self.drawdown})"
class IndicatorVariables(db.Model): id = db.Column(db.Integer, primary_key=True) maxstocks = db.Column(db.Integer, nullable=False) maxdays = db.Column(db.Integer, nullable=False) target1 = db.Column(db.Integer, nullable=False) target2 = db.Column(db.Integer, nullable=False) cutloss = db.Column(db.Integer, nullable=False) minvolume = db.Column(db.Integer, nullable=False) minbuy = db.Column(db.Integer, nullable=False) tradingfee = db.Column(db.Float, nullable=False) maxtradingfee = db.Column(db.Float, nullable=False) hongkongmarket = db.Column(db.Integer, default=0) indicator_id = db.Column(db.Integer, db.ForeignKey('indicator.id'), nullable=False) def __repr__(self): return f"IndicatorVariables({self.maxstocks}, {self.maxdays}, {self.target1}, {self.target2}, {self.cutloss}, {self.minvolume}, {self.minbuy}, {self.tradingfee}, {self.maxtradingfee})"