def getImpl(self): from marketsim.gen._out.math._exp import Exp_Float as _math_Exp_Float from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.math._atan import Atan_Float as _math_Atan_Float from marketsim.gen._out._constant import constant_Int as _constant_Int from marketsim.gen._out.ops._div import Div_FloatFloat as _ops_Div_FloatFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.order._floatingprice import FloatingPrice_IObservableFloatFloatIObservableIOrder as _order_FloatingPrice_IObservableFloatFloatIObservableIOrder from marketsim.gen._out.observable._breaksatchanges import BreaksAtChanges_IObservableFloat as _observable_BreaksAtChanges_IObservableFloat from marketsim.gen._out.order._curried._price_limit import price_Limit_SideFloat as _order__curried_price_Limit_SideFloat from marketsim.gen._out.orderbook._bids import Bids_IOrderBook as _orderbook_Bids_IOrderBook from marketsim.gen._out.orderbook._safesideprice import SafeSidePrice_IOrderQueueFloat as _orderbook_SafeSidePrice_IOrderQueueFloat from marketsim.gen._out.strategy._combine import Combine_ISingleAssetStrategyISingleAssetStrategy as _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy from marketsim.gen._out.observable._oneverydt import OnEveryDt_FloatFloat as _observable_OnEveryDt_FloatFloat from marketsim.gen._out.event._after import After_Float as _event_After_Float from marketsim.gen._out.orderbook._asks import Asks_IOrderBook as _orderbook_Asks_IOrderBook from marketsim.gen._out.strategy._generic import Generic_IObservableIOrderIEvent as _strategy_Generic_IObservableIOrderIEvent from marketsim.gen._out.trader._position import Position_IAccount as _trader_Position_IAccount from marketsim.gen._out.order._iceberg import Iceberg_IObservableIOrderFloat as _order_Iceberg_IObservableIOrderFloat return _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy( _strategy_Generic_IObservableIOrderIEvent( _order_Iceberg_IObservableIOrderFloat( _order_FloatingPrice_IObservableFloatFloatIObservableIOrder( _observable_BreaksAtChanges_IObservableFloat( _observable_OnEveryDt_FloatFloat( _ops_Div_IObservableFloatFloat( _orderbook_SafeSidePrice_IOrderQueueFloat( _orderbook_Asks_IOrderBook(), _constant_Float((100 + self.delta))), _math_Exp_Float( _ops_Div_FloatFloat( _math_Atan_Float( _trader_Position_IAccount()), _constant_Int(1000)))), 0.9)), _order__curried_price_Limit_SideFloat( _side_Sell_(), _constant_Float( (self.volume * 1000)))), _constant_Float(self.volume)), _event_After_Float(_constant_Float(0.0))), _strategy_Generic_IObservableIOrderIEvent( _order_Iceberg_IObservableIOrderFloat( _order_FloatingPrice_IObservableFloatFloatIObservableIOrder( _observable_BreaksAtChanges_IObservableFloat( _observable_OnEveryDt_FloatFloat( _ops_Div_IObservableFloatFloat( _orderbook_SafeSidePrice_IOrderQueueFloat( _orderbook_Bids_IOrderBook(), _constant_Float((100 - self.delta))), _math_Exp_Float( _ops_Div_FloatFloat( _math_Atan_Float( _trader_Position_IAccount()), _constant_Int(1000)))), 0.9)), _order__curried_price_Limit_SideFloat( _side_Buy_(), _constant_Float( (self.volume * 1000)))), _constant_Float(self.volume)), _event_After_Float(_constant_Float(0.0))))
def getImpl(self): from marketsim.gen._out.strategy._array import Array_ListISingleAssetStrategy as _strategy_Array_ListISingleAssetStrategy from marketsim.gen._out.strategy.lp._oneside import OneSide_FloatFloatIEventSideFloatIObservableIOrderSide as _strategy_lp_OneSide_FloatFloatIEventSideFloatIObservableIOrderSide from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ return _strategy_Array_ListISingleAssetStrategy([ _strategy_lp_OneSide_FloatFloatIEventSideFloatIObservableIOrderSide( self.initialValue, self.priceDistr, self.eventGen, self.orderFactory, _side_Sell_()), _strategy_lp_OneSide_FloatFloatIEventSideFloatIObservableIOrderSide( self.initialValue, self.priceDistr, self.eventGen, self.orderFactory, _side_Buy_()) ])
def getImpl(self): from marketsim.gen._out.strategy._array import Array_ListISingleAssetStrategy as _strategy_Array_ListISingleAssetStrategy from marketsim.gen._out.strategy._liquidityproviderside import LiquidityProviderSide_IEventSideFloatIObservableIOrderSideFloatFloat as _strategy_LiquidityProviderSide_IEventSideFloatIObservableIOrderSideFloatFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ return _strategy_Array_ListISingleAssetStrategy([ _strategy_LiquidityProviderSide_IEventSideFloatIObservableIOrderSideFloatFloat( self.eventGen, self.orderFactory, _side_Sell_(), self.initialValue, self.priceDistr), _strategy_LiquidityProviderSide_IEventSideFloatIObservableIOrderSideFloatFloat( self.eventGen, self.orderFactory, _side_Buy_(), self.initialValue, self.priceDistr) ])
def getImpl(self): from marketsim.gen._out.strategy.price._oneside import OneSide_strategypriceMarketMakerSideFloat as _strategy_price_OneSide_strategypriceMarketMakerSideFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.strategy._combine import Combine_ISingleAssetStrategyISingleAssetStrategy as _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim import deref_opt return deref_opt( _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy( deref_opt( _strategy_price_OneSide_strategypriceMarketMakerSideFloat( self.x, deref_opt(_side_Sell_()), 1.0)), deref_opt( _strategy_price_OneSide_strategypriceMarketMakerSideFloat( self.x, deref_opt(_side_Buy_()), -1.0))))
def __init__(self, cond = None, ifpart = None, elsepart = None): from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim import rtti from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out._side import Side from marketsim.gen._out._true import true_ as _true_ from marketsim.gen._out._observable import ObservableSide ObservableSide.__init__(self) self.cond = cond if cond is not None else _true_() self.ifpart = ifpart if ifpart is not None else _side_Sell_() self.elsepart = elsepart if elsepart is not None else _side_Buy_() rtti.check_fields(self) _Condition_Impl.__init__(self)
def getImpl(self): from marketsim.gen._out.side._nothing import Nothing_ as _side_Nothing_ from marketsim.gen._out.ops._greater import Greater_FloatFloat as _ops_Greater_FloatFloat from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._condition import Condition_BooleanSideSide as _ops_Condition_BooleanSideSide from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.ops._less import Less_FloatFloat as _ops_Less_FloatFloat return _ops_Condition_BooleanSideSide( _ops_Greater_FloatFloat(self.signal, _constant_Float(self.threshold)), _side_Buy_(), _ops_Condition_BooleanSideSide( _ops_Less_FloatFloat(self.signal, _constant_Float((0 - self.threshold))), _side_Sell_(), _side_Nothing_()))
def __init__(self, cond=None, ifpart=None, elsepart=None): from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim import rtti from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out._side import Side from marketsim.gen._out._true import true_ as _true_ from marketsim.gen._out._observable import ObservableSide ObservableSide.__init__(self) self.cond = cond if cond is not None else _true_() self.ifpart = ifpart if ifpart is not None else _side_Sell_() self.elsepart = elsepart if elsepart is not None else _side_Buy_() rtti.check_fields(self) _Condition_Impl.__init__(self)
def getImpl(self): from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.strategy._combine import Combine_ISingleAssetStrategyISingleAssetStrategy as _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.strategy.price._onesidestrategy import OneSideStrategy_strategypriceLiquidityProviderIEventSideFloatIObservableIOrderSide as _strategy_price_OneSideStrategy_strategypriceLiquidityProviderIEventSideFloatIObservableIOrderSide from marketsim import deref_opt return deref_opt( _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy( deref_opt( _strategy_price_OneSideStrategy_strategypriceLiquidityProviderIEventSideFloatIObservableIOrderSide( self.x, self.eventGen, self.orderFactory, deref_opt(_side_Sell_()))), deref_opt( _strategy_price_OneSideStrategy_strategypriceLiquidityProviderIEventSideFloatIObservableIOrderSide( self.x, self.eventGen, self.orderFactory, deref_opt(_side_Buy_())))))
def getImpl(self): from marketsim.gen._out.side._nothing import Nothing_ as _side_Nothing_ from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._less import Less_IObservableFloatIObservableFloat as _ops_Less_IObservableFloatIObservableFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.ops._greater import Greater_IObservableFloatIObservableFloat as _ops_Greater_IObservableFloatIObservableFloat from marketsim.gen._out.orderbook.ask._price import Price_IOrderBook as _orderbook_ask_Price_IOrderBook from marketsim.gen._out.ops._condition import Condition_IObservableBooleanSideSide as _ops_Condition_IObservableBooleanSideSide from marketsim.gen._out.ops._condition import Condition_IObservableBooleanSideIObservableSide as _ops_Condition_IObservableBooleanSideIObservableSide from marketsim.gen._out.orderbook.bid._price import Price_IOrderBook as _orderbook_bid_Price_IOrderBook return _ops_Condition_IObservableBooleanSideIObservableSide( _ops_Greater_IObservableFloatIObservableFloat( _orderbook_bid_Price_IOrderBook(self.book), self.fv), _side_Sell_(), _ops_Condition_IObservableBooleanSideSide( _ops_Less_IObservableFloatIObservableFloat( _orderbook_ask_Price_IOrderBook(self.book), self.fv), _side_Buy_(), _side_Nothing_()))
def getImpl(self): from marketsim.gen._out.ops._add import Add_IObservableFloatFloat as _ops_Add_IObservableFloatFloat from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.observable._quote import Quote_StringStringString as _observable_Quote_StringStringString from marketsim.gen._out.ops._sub import Sub_IObservableFloatFloat as _ops_Sub_IObservableFloatFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.order._floatingprice import FloatingPrice_IObservableFloatFloatIObservableIOrder as _order_FloatingPrice_IObservableFloatFloatIObservableIOrder from marketsim.gen._out.observable._breaksatchanges import BreaksAtChanges_IObservableFloat as _observable_BreaksAtChanges_IObservableFloat from marketsim.gen._out.order._curried._price_limit import price_Limit_SideFloat as _order__curried_price_Limit_SideFloat from marketsim.gen._out.strategy._combine import Combine_ISingleAssetStrategyISingleAssetStrategy as _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy from marketsim.gen._out.event._after import After_Float as _event_After_Float from marketsim.gen._out.strategy._generic import Generic_IObservableIOrderIEvent as _strategy_Generic_IObservableIOrderIEvent from marketsim.gen._out.order._iceberg import Iceberg_IObservableIOrderFloat as _order_Iceberg_IObservableIOrderFloat return _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy( _strategy_Generic_IObservableIOrderIEvent( _order_Iceberg_IObservableIOrderFloat( _order_FloatingPrice_IObservableFloatFloatIObservableIOrder( _observable_BreaksAtChanges_IObservableFloat( _ops_Add_IObservableFloatFloat( _observable_Quote_StringStringString( self.ticker, self.start, self.end), _constant_Float(self.delta))), _order__curried_price_Limit_SideFloat( _side_Sell_(), _constant_Float( (self.volume * 1000)))), _constant_Float(self.volume)), _event_After_Float(_constant_Float(0.0))), _strategy_Generic_IObservableIOrderIEvent( _order_Iceberg_IObservableIOrderFloat( _order_FloatingPrice_IObservableFloatFloatIObservableIOrder( _observable_BreaksAtChanges_IObservableFloat( _ops_Sub_IObservableFloatFloat( _observable_Quote_StringStringString( self.ticker, self.start, self.end), _constant_Float(self.delta))), _order__curried_price_Limit_SideFloat( _side_Buy_(), _constant_Float( (self.volume * 1000)))), _constant_Float(self.volume)), _event_After_Float(_constant_Float(0.0))))
def getImpl(self): from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.strategy._combine import Combine_ISingleAssetStrategyISingleAssetStrategy as _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.strategy.price._onesidestrategy import OneSideStrategy_strategypriceLiquidityProviderIEventSideFloatIObservableIOrderSide as _strategy_price_OneSideStrategy_strategypriceLiquidityProviderIEventSideFloatIObservableIOrderSide from marketsim import deref_opt return deref_opt(_strategy_Combine_ISingleAssetStrategyISingleAssetStrategy(deref_opt(_strategy_price_OneSideStrategy_strategypriceLiquidityProviderIEventSideFloatIObservableIOrderSide(self.x,self.eventGen,self.orderFactory,deref_opt(_side_Sell_()))),deref_opt(_strategy_price_OneSideStrategy_strategypriceLiquidityProviderIEventSideFloatIObservableIOrderSide(self.x,self.eventGen,self.orderFactory,deref_opt(_side_Buy_())))))
def getImpl(self): from marketsim.gen._out.strategy.price._oneside import OneSide_strategypriceMarketMakerSideFloat as _strategy_price_OneSide_strategypriceMarketMakerSideFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.strategy._combine import Combine_ISingleAssetStrategyISingleAssetStrategy as _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim import deref_opt return deref_opt(_strategy_Combine_ISingleAssetStrategyISingleAssetStrategy(deref_opt(_strategy_price_OneSide_strategypriceMarketMakerSideFloat(self.x,deref_opt(_side_Sell_()),1.0)),deref_opt(_strategy_price_OneSide_strategypriceMarketMakerSideFloat(self.x,deref_opt(_side_Buy_()),-1.0))))
def getImpl(self): from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.orderbook._bestprice import BestPrice_IOrderQueue as _orderbook_BestPrice_IOrderQueue from marketsim.gen._out.ops._condition import Condition_IObservableBooleanSideSide as _ops_Condition_IObservableBooleanSideSide from marketsim.gen._out.orderbook._bids import Bids_IOrderBook as _orderbook_Bids_IOrderBook from marketsim.gen._out.side._nothing import Nothing_ as _side_Nothing_ from marketsim.gen._out.strategy.side._fundamental_value import Fundamental_Value_strategysidePairTrading as _strategy_side_Fundamental_Value_strategysidePairTrading from marketsim.gen._out.strategy.side._book import book_strategysidePairTrading as _strategy_side_book_strategysidePairTrading from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._less import Less_IObservableFloatIObservableFloat as _ops_Less_IObservableFloatIObservableFloat from marketsim.gen._out.ops._greater import Greater_IObservableFloatIObservableFloat as _ops_Greater_IObservableFloatIObservableFloat from marketsim.gen._out.ops._condition import Condition_IObservableBooleanSideIObservableSide as _ops_Condition_IObservableBooleanSideIObservableSide from marketsim.gen._out.orderbook._asks import Asks_IOrderBook as _orderbook_Asks_IOrderBook from marketsim import deref_opt return deref_opt(_ops_Condition_IObservableBooleanSideIObservableSide(deref_opt(_ops_Greater_IObservableFloatIObservableFloat(deref_opt(_orderbook_BestPrice_IOrderQueue(deref_opt(_orderbook_Bids_IOrderBook(deref_opt(_strategy_side_book_strategysidePairTrading(self.x)))))),deref_opt(_strategy_side_Fundamental_Value_strategysidePairTrading(self.x)))),deref_opt(_side_Sell_()),deref_opt(_ops_Condition_IObservableBooleanSideSide(deref_opt(_ops_Less_IObservableFloatIObservableFloat(deref_opt(_orderbook_BestPrice_IOrderQueue(deref_opt(_orderbook_Asks_IOrderBook(deref_opt(_strategy_side_book_strategysidePairTrading(self.x)))))),deref_opt(_strategy_side_Fundamental_Value_strategysidePairTrading(self.x)))),deref_opt(_side_Buy_()),deref_opt(_side_Nothing_())))))
def getImpl(self): from marketsim.gen._out.strategy._array import Array_ListISingleAssetStrategy as _strategy_Array_ListISingleAssetStrategy from marketsim.gen._out.strategy.lp._oneside import OneSide_FloatFloatIEventSideFloatIObservableIOrderSide as _strategy_lp_OneSide_FloatFloatIEventSideFloatIObservableIOrderSide from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ return _strategy_Array_ListISingleAssetStrategy([_strategy_lp_OneSide_FloatFloatIEventSideFloatIObservableIOrderSide(self.initialValue,self.priceDistr,self.eventGen,self.orderFactory,_side_Sell_()),_strategy_lp_OneSide_FloatFloatIEventSideFloatIObservableIOrderSide(self.initialValue,self.priceDistr,self.eventGen,self.orderFactory,_side_Buy_())])
def getImpl(self): from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.ops._condition import Condition_BooleanSideSide as _ops_Condition_BooleanSideSide from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.strategy.side._side_distribution import Side_distribution_strategysideNoise as _strategy_side_Side_distribution_strategysideNoise from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._greater import Greater_FloatFloat as _ops_Greater_FloatFloat from marketsim import deref_opt return deref_opt(_ops_Condition_BooleanSideSide(deref_opt(_ops_Greater_FloatFloat(deref_opt(_strategy_side_Side_distribution_strategysideNoise(self.x)),deref_opt(_constant_Float(0.5)))),deref_opt(_side_Buy_()),deref_opt(_side_Sell_())))
def getImpl(self): from marketsim.gen._out.side._nothing import Nothing_ as _side_Nothing_ from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._less import Less_IObservableFloatIObservableFloat as _ops_Less_IObservableFloatIObservableFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.ops._greater import Greater_IObservableFloatIObservableFloat as _ops_Greater_IObservableFloatIObservableFloat from marketsim.gen._out.orderbook.ask._price import Price_IOrderBook as _orderbook_ask_Price_IOrderBook from marketsim.gen._out.ops._condition import Condition_IObservableBooleanSideSide as _ops_Condition_IObservableBooleanSideSide from marketsim.gen._out.ops._condition import Condition_IObservableBooleanSideIObservableSide as _ops_Condition_IObservableBooleanSideIObservableSide from marketsim.gen._out.orderbook.bid._price import Price_IOrderBook as _orderbook_bid_Price_IOrderBook return _ops_Condition_IObservableBooleanSideIObservableSide(_ops_Greater_IObservableFloatIObservableFloat(_orderbook_bid_Price_IOrderBook(self.book),self.fv),_side_Sell_(),_ops_Condition_IObservableBooleanSideSide(_ops_Less_IObservableFloatIObservableFloat(_orderbook_ask_Price_IOrderBook(self.book),self.fv),_side_Buy_(),_side_Nothing_()))
def getImpl(self): from marketsim.gen._out.ops._greater import Greater_FloatFloat as _ops_Greater_FloatFloat from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._condition import Condition_BooleanSideSide as _ops_Condition_BooleanSideSide from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out._constant import constant_Float as _constant_Float return _ops_Condition_BooleanSideSide(_ops_Greater_FloatFloat(self.side_distribution,_constant_Float(0.5)),_side_Sell_(),_side_Buy_())
def getImpl(self): from marketsim.gen._out.strategy._array import Array_ListISingleAssetStrategy as _strategy_Array_ListISingleAssetStrategy from marketsim.gen._out.strategy._liquidityproviderside import LiquidityProviderSide_IEventSideFloatIObservableIOrderSideFloatFloat as _strategy_LiquidityProviderSide_IEventSideFloatIObservableIOrderSideFloatFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ return _strategy_Array_ListISingleAssetStrategy([_strategy_LiquidityProviderSide_IEventSideFloatIObservableIOrderSideFloatFloat(self.eventGen,self.orderFactory,_side_Sell_(),self.initialValue,self.priceDistr),_strategy_LiquidityProviderSide_IEventSideFloatIObservableIOrderSideFloatFloat(self.eventGen,self.orderFactory,_side_Buy_(),self.initialValue,self.priceDistr)])
def getImpl(self): from marketsim.gen._out.strategy.side._signal_value import Signal_Value_strategysideSignal as _strategy_side_Signal_Value_strategysideSignal from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out.ops._condition import Condition_BooleanSideSide as _ops_Condition_BooleanSideSide from marketsim.gen._out.strategy.side._threshold import Threshold_strategysideSignal as _strategy_side_Threshold_strategysideSignal from marketsim.gen._out.ops._less import Less_FloatFloat as _ops_Less_FloatFloat from marketsim.gen._out.side._nothing import Nothing_ as _side_Nothing_ from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._greater import Greater_FloatFloat as _ops_Greater_FloatFloat from marketsim import deref_opt return deref_opt(_ops_Condition_BooleanSideSide(deref_opt(_ops_Greater_FloatFloat(deref_opt(_strategy_side_Signal_Value_strategysideSignal(self.x)),deref_opt(_constant_Float(deref_opt(_strategy_side_Threshold_strategysideSignal(self.x)))))),deref_opt(_side_Buy_()),deref_opt(_ops_Condition_BooleanSideSide(deref_opt(_ops_Less_FloatFloat(deref_opt(_strategy_side_Signal_Value_strategysideSignal(self.x)),deref_opt(_constant_Float((0-deref_opt(_strategy_side_Threshold_strategysideSignal(self.x))))))),deref_opt(_side_Sell_()),deref_opt(_side_Nothing_())))))
def getImpl(self): from marketsim.gen._out.ops._add import Add_IObservableFloatFloat as _ops_Add_IObservableFloatFloat from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.observable._quote import Quote_StringStringString as _observable_Quote_StringStringString from marketsim.gen._out.ops._sub import Sub_IObservableFloatFloat as _ops_Sub_IObservableFloatFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.order._floatingprice import FloatingPrice_IObservableFloatFloatIObservableIOrder as _order_FloatingPrice_IObservableFloatFloatIObservableIOrder from marketsim.gen._out.observable._breaksatchanges import BreaksAtChanges_IObservableFloat as _observable_BreaksAtChanges_IObservableFloat from marketsim.gen._out.order._curried._price_limit import price_Limit_SideFloat as _order__curried_price_Limit_SideFloat from marketsim.gen._out.strategy._combine import Combine_ISingleAssetStrategyISingleAssetStrategy as _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy from marketsim.gen._out.event._after import After_Float as _event_After_Float from marketsim.gen._out.strategy._generic import Generic_IObservableIOrderIEvent as _strategy_Generic_IObservableIOrderIEvent from marketsim.gen._out.order._iceberg import Iceberg_IObservableIOrderFloat as _order_Iceberg_IObservableIOrderFloat return _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy(_strategy_Generic_IObservableIOrderIEvent(_order_Iceberg_IObservableIOrderFloat(_order_FloatingPrice_IObservableFloatFloatIObservableIOrder(_observable_BreaksAtChanges_IObservableFloat(_ops_Add_IObservableFloatFloat(_observable_Quote_StringStringString(self.ticker,self.start,self.end),_constant_Float(self.delta))),_order__curried_price_Limit_SideFloat(_side_Sell_(),_constant_Float((self.volume*1000)))),_constant_Float(self.volume)),_event_After_Float(_constant_Float(0.0))),_strategy_Generic_IObservableIOrderIEvent(_order_Iceberg_IObservableIOrderFloat(_order_FloatingPrice_IObservableFloatFloatIObservableIOrder(_observable_BreaksAtChanges_IObservableFloat(_ops_Sub_IObservableFloatFloat(_observable_Quote_StringStringString(self.ticker,self.start,self.end),_constant_Float(self.delta))),_order__curried_price_Limit_SideFloat(_side_Buy_(),_constant_Float((self.volume*1000)))),_constant_Float(self.volume)),_event_After_Float(_constant_Float(0.0))))
def getImpl(self): from marketsim.gen._out.math._exp import Exp_Float as _math_Exp_Float from marketsim.gen._out.side._buy import Buy_ as _side_Buy_ from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.math._atan import Atan_Float as _math_Atan_Float from marketsim.gen._out._constant import constant_Int as _constant_Int from marketsim.gen._out.ops._div import Div_FloatFloat as _ops_Div_FloatFloat from marketsim.gen._out.side._sell import Sell_ as _side_Sell_ from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.order._floatingprice import FloatingPrice_IObservableFloatFloatIObservableIOrder as _order_FloatingPrice_IObservableFloatFloatIObservableIOrder from marketsim.gen._out.observable._breaksatchanges import BreaksAtChanges_IObservableFloat as _observable_BreaksAtChanges_IObservableFloat from marketsim.gen._out.order._curried._price_limit import price_Limit_SideFloat as _order__curried_price_Limit_SideFloat from marketsim.gen._out.orderbook._bids import Bids_IOrderBook as _orderbook_Bids_IOrderBook from marketsim.gen._out.orderbook._safesideprice import SafeSidePrice_IOrderQueueFloat as _orderbook_SafeSidePrice_IOrderQueueFloat from marketsim.gen._out.strategy._combine import Combine_ISingleAssetStrategyISingleAssetStrategy as _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy from marketsim.gen._out.observable._oneverydt import OnEveryDt_FloatFloat as _observable_OnEveryDt_FloatFloat from marketsim.gen._out.event._after import After_Float as _event_After_Float from marketsim.gen._out.orderbook._asks import Asks_IOrderBook as _orderbook_Asks_IOrderBook from marketsim.gen._out.strategy._generic import Generic_IObservableIOrderIEvent as _strategy_Generic_IObservableIOrderIEvent from marketsim.gen._out.trader._position import Position_IAccount as _trader_Position_IAccount from marketsim.gen._out.order._iceberg import Iceberg_IObservableIOrderFloat as _order_Iceberg_IObservableIOrderFloat return _strategy_Combine_ISingleAssetStrategyISingleAssetStrategy(_strategy_Generic_IObservableIOrderIEvent(_order_Iceberg_IObservableIOrderFloat(_order_FloatingPrice_IObservableFloatFloatIObservableIOrder(_observable_BreaksAtChanges_IObservableFloat(_observable_OnEveryDt_FloatFloat(_ops_Div_IObservableFloatFloat(_orderbook_SafeSidePrice_IOrderQueueFloat(_orderbook_Asks_IOrderBook(),_constant_Float((100+self.delta))),_math_Exp_Float(_ops_Div_FloatFloat(_math_Atan_Float(_trader_Position_IAccount()),_constant_Int(1000)))),0.9)),_order__curried_price_Limit_SideFloat(_side_Sell_(),_constant_Float((self.volume*1000)))),_constant_Float(self.volume)),_event_After_Float(_constant_Float(0.0))),_strategy_Generic_IObservableIOrderIEvent(_order_Iceberg_IObservableIOrderFloat(_order_FloatingPrice_IObservableFloatFloatIObservableIOrder(_observable_BreaksAtChanges_IObservableFloat(_observable_OnEveryDt_FloatFloat(_ops_Div_IObservableFloatFloat(_orderbook_SafeSidePrice_IOrderQueueFloat(_orderbook_Bids_IOrderBook(),_constant_Float((100-self.delta))),_math_Exp_Float(_ops_Div_FloatFloat(_math_Atan_Float(_trader_Position_IAccount()),_constant_Int(1000)))),0.9)),_order__curried_price_Limit_SideFloat(_side_Buy_(),_constant_Float((self.volume*1000)))),_constant_Float(self.volume)),_event_After_Float(_constant_Float(0.0))))