app.backbone.entities.bot_performance

 1from sqlalchemy import Column, ForeignKey, Integer, Float, String, Date, Boolean
 2from sqlalchemy.orm import relationship
 3from . import Base
 4
 5class BotPerformance(Base):
 6    __tablename__ = 'BotPerformances'
 7
 8    Id = Column(Integer, primary_key=True, autoincrement=True)
 9    BotId = Column(Integer, ForeignKey('Bots.Id'), nullable=True)
10    DateFrom = Column(Date, nullable=False, index=True)
11    DateTo = Column(Date, nullable=False, index=True)
12    Method = Column(String, nullable=False)
13    StabilityRatio = Column(Float, nullable=False)
14    Trades = Column(Integer, nullable=False)
15    Return = Column(Float, nullable=False)
16    Drawdown = Column(Float, nullable=False)
17    RreturnDd = Column(Float, nullable=False)
18    StabilityWeightedRar = Column(Float, nullable=False)
19    WinRate = Column(Float, nullable=False)
20    Duration = Column(Integer, nullable=False)
21    Favorite = Column(Boolean, nullable=False, default=False)
22    InitialCash = Column(Float, nullable=False)
23
24    ExposureTime = Column(Float, nullable=False)
25    KellyCriterion = Column(Float, nullable=False)
26    WinratePValue = Column(Float, nullable=False)
27    SharpeRatio = Column(Float, nullable=True)
28
29    JarqueBeraStat = Column(Float, nullable=True)
30    JarqueBeraPValue = Column(Float, nullable=True)
31    Skew = Column(Float, nullable=True)
32    Kurtosis = Column(Float, nullable=True)
33
34    # Relación con otras tablas
35    Bot = relationship('Bot', back_populates='BotPerformance', lazy='joined')
36    
37    BotTradePerformance = relationship('BotTradePerformance', back_populates='BotPerformance', lazy='joined', uselist=False)
38    TradeHistory = relationship('Trade', back_populates='BotPerformance', lazy='joined')
39    MontecarloTest = relationship('MontecarloTest', back_populates='BotPerformance', lazy='joined', uselist=False)
40    LuckTest = relationship('LuckTest', foreign_keys='LuckTest.BotPerformanceId', back_populates='BotPerformance', lazy='joined', uselist=False)
41    RandomTest = relationship('RandomTest', foreign_keys='RandomTest.BotPerformanceId', back_populates='BotPerformance', lazy='joined', uselist=False)
42
43    def __repr__(self):
44        return f"<BotPerformance(Id={self.Id}, Trades={self.Trades}, Return={self.Return}, Drawdown={self.Drawdown})>"
class BotPerformance(sqlalchemy.orm.decl_api._DynamicAttributesType, sqlalchemy.inspection.Inspectable[sqlalchemy.orm.mapper.Mapper[typing.Any]]):
 6class BotPerformance(Base):
 7    __tablename__ = 'BotPerformances'
 8
 9    Id = Column(Integer, primary_key=True, autoincrement=True)
10    BotId = Column(Integer, ForeignKey('Bots.Id'), nullable=True)
11    DateFrom = Column(Date, nullable=False, index=True)
12    DateTo = Column(Date, nullable=False, index=True)
13    Method = Column(String, nullable=False)
14    StabilityRatio = Column(Float, nullable=False)
15    Trades = Column(Integer, nullable=False)
16    Return = Column(Float, nullable=False)
17    Drawdown = Column(Float, nullable=False)
18    RreturnDd = Column(Float, nullable=False)
19    StabilityWeightedRar = Column(Float, nullable=False)
20    WinRate = Column(Float, nullable=False)
21    Duration = Column(Integer, nullable=False)
22    Favorite = Column(Boolean, nullable=False, default=False)
23    InitialCash = Column(Float, nullable=False)
24
25    ExposureTime = Column(Float, nullable=False)
26    KellyCriterion = Column(Float, nullable=False)
27    WinratePValue = Column(Float, nullable=False)
28    SharpeRatio = Column(Float, nullable=True)
29
30    JarqueBeraStat = Column(Float, nullable=True)
31    JarqueBeraPValue = Column(Float, nullable=True)
32    Skew = Column(Float, nullable=True)
33    Kurtosis = Column(Float, nullable=True)
34
35    # Relación con otras tablas
36    Bot = relationship('Bot', back_populates='BotPerformance', lazy='joined')
37    
38    BotTradePerformance = relationship('BotTradePerformance', back_populates='BotPerformance', lazy='joined', uselist=False)
39    TradeHistory = relationship('Trade', back_populates='BotPerformance', lazy='joined')
40    MontecarloTest = relationship('MontecarloTest', back_populates='BotPerformance', lazy='joined', uselist=False)
41    LuckTest = relationship('LuckTest', foreign_keys='LuckTest.BotPerformanceId', back_populates='BotPerformance', lazy='joined', uselist=False)
42    RandomTest = relationship('RandomTest', foreign_keys='RandomTest.BotPerformanceId', back_populates='BotPerformance', lazy='joined', uselist=False)
43
44    def __repr__(self):
45        return f"<BotPerformance(Id={self.Id}, Trades={self.Trades}, Return={self.Return}, Drawdown={self.Drawdown})>"

The base class of the class hierarchy.

When called, it accepts no arguments and returns a new featureless instance that has no instance attributes and cannot be given any.

BotPerformance(**kwargs)

A simple constructor that allows initialization from kwargs.

Sets attributes on the constructed instance using the names and values in kwargs.

Only keys that are present as attributes of the instance's class are allowed. These could be, for example, any mapped columns or relationships.

Id
BotId
DateFrom
DateTo
Method
StabilityRatio
Trades
Return
Drawdown
RreturnDd
StabilityWeightedRar
WinRate
Duration
Favorite
InitialCash
ExposureTime
KellyCriterion
WinratePValue
SharpeRatio
JarqueBeraStat
JarqueBeraPValue
Skew
Kurtosis
Bot
BotTradePerformance
TradeHistory
MontecarloTest
LuckTest
RandomTest