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.math._stddev import StdDev_mathCumulative as _math_StdDev_mathCumulative from marketsim.gen._out.ops._sub import Sub_IObservableFloatFloat as _ops_Sub_IObservableFloatFloat from marketsim.gen._out.math._source import Source_mathCumulative as _math_Source_mathCumulative from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.math._avg import Avg_mathCumulative as _math_Avg_mathCumulative from marketsim import deref_opt return deref_opt(_ops_Div_IObservableFloatFloat(deref_opt(_ops_Sub_IObservableFloatFloat(deref_opt(_math_Source_mathCumulative(self.x)),deref_opt(_math_Avg_mathCumulative(self.x)))),deref_opt(_math_StdDev_mathCumulative(self.x))))
def getImpl(self): from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.ops._add import Add_IObservableFloatIObservableFloat as _ops_Add_IObservableFloatIObservableFloat from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.orderbook._bestprice import BestPrice_IOrderQueue as _orderbook_BestPrice_IOrderQueue from marketsim.gen._out.orderbook._bids import Bids_IOrderBook as _orderbook_Bids_IOrderBook from marketsim.gen._out.orderbook._asks import Asks_IOrderBook as _orderbook_Asks_IOrderBook return _ops_Div_IObservableFloatFloat(_ops_Add_IObservableFloatIObservableFloat(_orderbook_BestPrice_IOrderQueue(_orderbook_Asks_IOrderBook(self.book)),_orderbook_BestPrice_IOrderQueue(_orderbook_Bids_IOrderBook(self.book))),_constant_Float(2.0))
def getImpl(self): from marketsim.gen._out._false import false_ as _false_ from marketsim.gen._out.ops._condition import Condition_IObservableBooleanIObservableBooleanBoolean as _ops_Condition_IObservableBooleanIObservableBooleanBoolean from marketsim.gen._out.ops._condition import Condition_IObservableBooleanIObservableBooleanIObservableBoolean as _ops_Condition_IObservableBooleanIObservableBooleanIObservableBoolean from marketsim.gen._out._constant import constant_Int as _constant_Int from marketsim.gen._out.trader._position import Position_IAccount as _trader_Position_IAccount from marketsim.gen._out.orderbook._bestprice import BestPrice_IOrderQueue as _orderbook_BestPrice_IOrderQueue from marketsim.gen._out.orderbook._bids import Bids_IOrderBook as _orderbook_Bids_IOrderBook from marketsim.gen._out.trader._pershareprice import PerSharePrice_IAccount as _trader_PerSharePrice_IAccount from marketsim.gen._out.ops._greater import Greater_IObservableFloatFloat as _ops_Greater_IObservableFloatFloat from marketsim.gen._out.ops._mul import Mul_IObservableFloatFloat as _ops_Mul_IObservableFloatFloat from marketsim.gen._out.ops._less import Less_IObservableFloatFloat as _ops_Less_IObservableFloatFloat from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.ops._less import Less_IObservableFloatIObservableFloat as _ops_Less_IObservableFloatIObservableFloat from marketsim.gen._out.ops._sub import Sub_FloatFloat as _ops_Sub_FloatFloat from marketsim.gen._out.ops._greater import Greater_IObservableFloatIObservableFloat as _ops_Greater_IObservableFloatIObservableFloat from marketsim.gen._out.orderbook._asks import Asks_IOrderBook as _orderbook_Asks_IOrderBook from marketsim import deref_opt return deref_opt( _ops_Condition_IObservableBooleanIObservableBooleanIObservableBoolean( deref_opt( _ops_Greater_IObservableFloatFloat( deref_opt(_trader_Position_IAccount()), deref_opt(_constant_Int(0)))), deref_opt( _ops_Greater_IObservableFloatIObservableFloat( deref_opt(_trader_PerSharePrice_IAccount()), deref_opt( _ops_Div_IObservableFloatFloat( deref_opt( _orderbook_BestPrice_IOrderQueue( deref_opt( _orderbook_Asks_IOrderBook()))), deref_opt( _ops_Sub_FloatFloat( deref_opt(_constant_Int(1)), self.lossFactor)))))), deref_opt( _ops_Condition_IObservableBooleanIObservableBooleanBoolean( deref_opt( _ops_Less_IObservableFloatFloat( deref_opt(_trader_Position_IAccount()), deref_opt(_constant_Int(0)))), deref_opt( _ops_Less_IObservableFloatIObservableFloat( deref_opt(_trader_PerSharePrice_IAccount()), deref_opt( _ops_Mul_IObservableFloatFloat( deref_opt( _orderbook_BestPrice_IOrderQueue( deref_opt( _orderbook_Bids_IOrderBook( )))), deref_opt( _ops_Sub_FloatFloat( deref_opt(_constant_Int(1)), self.lossFactor)))))), deref_opt(_false_())))))
def getImpl(self): from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.ops._sub import Sub_IObservableFloatFloat as _ops_Sub_IObservableFloatFloat from marketsim.gen._out.math.Cumulative._avg import Avg_IObservableFloat as _math_Cumulative_Avg_IObservableFloat from marketsim.gen._out.math.Cumulative._stddev import StdDev_IObservableFloat as _math_Cumulative_StdDev_IObservableFloat return _ops_Div_IObservableFloatFloat( _ops_Sub_IObservableFloatFloat( self.source, _math_Cumulative_Avg_IObservableFloat(self.source)), _math_Cumulative_StdDev_IObservableFloat(self.source))
def getImpl(self): from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.ops._sub import Sub_IObservableFloatFloat as _ops_Sub_IObservableFloatFloat from marketsim.gen._out.math.Moving._avg import Avg_IObservableFloatFloat as _math_Moving_Avg_IObservableFloatFloat from marketsim.gen._out.math.Moving._stddev import StdDev_IObservableFloatFloat as _math_Moving_StdDev_IObservableFloatFloat return _ops_Div_IObservableFloatFloat( _ops_Sub_IObservableFloatFloat( self.source, _math_Moving_Avg_IObservableFloatFloat(self.source, self.timeframe)), _math_Moving_StdDev_IObservableFloatFloat(self.source, self.timeframe))
def getImpl(self): from marketsim.gen._out.math._stddev import StdDev_mathCumulative as _math_StdDev_mathCumulative from marketsim.gen._out.ops._sub import Sub_IObservableFloatFloat as _ops_Sub_IObservableFloatFloat from marketsim.gen._out.math._source import Source_mathCumulative as _math_Source_mathCumulative from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.math._avg import Avg_mathCumulative as _math_Avg_mathCumulative from marketsim import deref_opt return deref_opt( _ops_Div_IObservableFloatFloat( deref_opt( _ops_Sub_IObservableFloatFloat( deref_opt(_math_Source_mathCumulative(self.x)), deref_opt(_math_Avg_mathCumulative(self.x)))), deref_opt(_math_StdDev_mathCumulative(self.x))))
def getImpl(self): from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.ops._add import Add_IObservableFloatIObservableFloat as _ops_Add_IObservableFloatIObservableFloat from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.orderbook._bestprice import BestPrice_IOrderQueue as _orderbook_BestPrice_IOrderQueue from marketsim.gen._out.orderbook._bids import Bids_IOrderBook as _orderbook_Bids_IOrderBook from marketsim.gen._out.orderbook._asks import Asks_IOrderBook as _orderbook_Asks_IOrderBook return _ops_Div_IObservableFloatFloat( _ops_Add_IObservableFloatIObservableFloat( _orderbook_BestPrice_IOrderQueue( _orderbook_Asks_IOrderBook(self.book)), _orderbook_BestPrice_IOrderQueue( _orderbook_Bids_IOrderBook(self.book))), _constant_Float(2.0))
def getImpl(self): from marketsim.gen._out._false import false_ as _false_ from marketsim.gen._out.ops._condition import Condition_IObservableBooleanIObservableBooleanBoolean as _ops_Condition_IObservableBooleanIObservableBooleanBoolean from marketsim.gen._out.ops._condition import Condition_IObservableBooleanIObservableBooleanIObservableBoolean as _ops_Condition_IObservableBooleanIObservableBooleanIObservableBoolean from marketsim.gen._out._constant import constant_Int as _constant_Int from marketsim.gen._out.trader._position import Position_IAccount as _trader_Position_IAccount from marketsim.gen._out.orderbook._bestprice import BestPrice_IOrderQueue as _orderbook_BestPrice_IOrderQueue from marketsim.gen._out.orderbook._bids import Bids_IOrderBook as _orderbook_Bids_IOrderBook from marketsim.gen._out.trader._pershareprice import PerSharePrice_IAccount as _trader_PerSharePrice_IAccount from marketsim.gen._out.ops._greater import Greater_IObservableFloatFloat as _ops_Greater_IObservableFloatFloat from marketsim.gen._out.ops._mul import Mul_IObservableFloatFloat as _ops_Mul_IObservableFloatFloat from marketsim.gen._out.ops._less import Less_IObservableFloatFloat as _ops_Less_IObservableFloatFloat from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.ops._less import Less_IObservableFloatIObservableFloat as _ops_Less_IObservableFloatIObservableFloat from marketsim.gen._out.ops._sub import Sub_FloatFloat as _ops_Sub_FloatFloat from marketsim.gen._out.ops._greater import Greater_IObservableFloatIObservableFloat as _ops_Greater_IObservableFloatIObservableFloat from marketsim.gen._out.orderbook._asks import Asks_IOrderBook as _orderbook_Asks_IOrderBook from marketsim import deref_opt return deref_opt(_ops_Condition_IObservableBooleanIObservableBooleanIObservableBoolean(deref_opt(_ops_Greater_IObservableFloatFloat(deref_opt(_trader_Position_IAccount()),deref_opt(_constant_Int(0)))),deref_opt(_ops_Greater_IObservableFloatIObservableFloat(deref_opt(_trader_PerSharePrice_IAccount()),deref_opt(_ops_Div_IObservableFloatFloat(deref_opt(_orderbook_BestPrice_IOrderQueue(deref_opt(_orderbook_Asks_IOrderBook()))),deref_opt(_ops_Sub_FloatFloat(deref_opt(_constant_Int(1)),self.lossFactor)))))),deref_opt(_ops_Condition_IObservableBooleanIObservableBooleanBoolean(deref_opt(_ops_Less_IObservableFloatFloat(deref_opt(_trader_Position_IAccount()),deref_opt(_constant_Int(0)))),deref_opt(_ops_Less_IObservableFloatIObservableFloat(deref_opt(_trader_PerSharePrice_IAccount()),deref_opt(_ops_Mul_IObservableFloatFloat(deref_opt(_orderbook_BestPrice_IOrderQueue(deref_opt(_orderbook_Bids_IOrderBook()))),deref_opt(_ops_Sub_FloatFloat(deref_opt(_constant_Int(1)),self.lossFactor)))))),deref_opt(_false_())))))
def getImpl(self): from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.ops._sub import Sub_IObservableFloatFloat as _ops_Sub_IObservableFloatFloat from marketsim.gen._out.math.Moving._avg import Avg_IObservableFloatFloat as _math_Moving_Avg_IObservableFloatFloat from marketsim.gen._out.math.Moving._stddev import StdDev_IObservableFloatFloat as _math_Moving_StdDev_IObservableFloatFloat return _ops_Div_IObservableFloatFloat(_ops_Sub_IObservableFloatFloat(self.source,_math_Moving_Avg_IObservableFloatFloat(self.source,self.timeframe)),_math_Moving_StdDev_IObservableFloatFloat(self.source,self.timeframe))
def getImpl(self): from marketsim.gen._out.math._atan import Atan_Float as _math_Atan_Float from marketsim.gen._out.orderbook._queue import Queue_IOrderBookSide as _orderbook_Queue_IOrderBookSide from marketsim.gen._out.strategy._generic import Generic_IObservableIOrderIEvent as _strategy_Generic_IObservableIOrderIEvent from marketsim.gen._out.observable._breaksatchanges import BreaksAtChanges_IObservableFloat as _observable_BreaksAtChanges_IObservableFloat from marketsim.gen._out._constant import constant_Int as _constant_Int from marketsim.gen._out.trader._position import Position_IAccount as _trader_Position_IAccount from marketsim.gen._out.strategy.price._delta import Delta_strategypriceMarketMaker as _strategy_price_Delta_strategypriceMarketMaker from marketsim.gen._out.ops._div import Div_FloatFloat as _ops_Div_FloatFloat from marketsim.gen._out.math._exp import Exp_Float as _math_Exp_Float from marketsim.gen._out.strategy.price._volume import Volume_strategypriceMarketMaker as _strategy_price_Volume_strategypriceMarketMaker from marketsim.gen._out.orderbook._safesideprice import SafeSidePrice_IOrderQueueFloat as _orderbook_SafeSidePrice_IOrderQueueFloat from marketsim.gen._out.observable._oneverydt import OnEveryDt_FloatFloat as _observable_OnEveryDt_FloatFloat from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.order._floatingprice import FloatingPrice_FloatIObservableIOrderIObservableFloat as _order_FloatingPrice_FloatIObservableIOrderIObservableFloat from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.order._curried._price_limit import price_Limit_SideFloat as _order__curried_price_Limit_SideFloat from marketsim.gen._out.order._iceberg import Iceberg_IObservableIOrderFloat as _order_Iceberg_IObservableIOrderFloat from marketsim.gen._out.event._after import After_Float as _event_After_Float from marketsim import deref_opt from marketsim.gen._out.orderbook._oftrader import OfTrader_IAccount as _orderbook_OfTrader_IAccount return deref_opt(_strategy_Generic_IObservableIOrderIEvent(deref_opt(_order_Iceberg_IObservableIOrderFloat(deref_opt(_order_FloatingPrice_FloatIObservableIOrderIObservableFloat(deref_opt(_order__curried_price_Limit_SideFloat(self.side,deref_opt(_constant_Float((deref_opt(_strategy_price_Volume_strategypriceMarketMaker(self.x))*1000))))),deref_opt(_observable_BreaksAtChanges_IObservableFloat(deref_opt(_observable_OnEveryDt_FloatFloat(deref_opt(_ops_Div_IObservableFloatFloat(deref_opt(_orderbook_SafeSidePrice_IOrderQueueFloat(deref_opt(_orderbook_Queue_IOrderBookSide(deref_opt(_orderbook_OfTrader_IAccount()),self.side)),deref_opt(_constant_Float((100+(deref_opt(_strategy_price_Delta_strategypriceMarketMaker(self.x))*self.sign)))))),deref_opt(_math_Exp_Float(deref_opt(_ops_Div_FloatFloat(deref_opt(_math_Atan_Float(deref_opt(_trader_Position_IAccount()))),deref_opt(_constant_Int(1000)))))))),0.9)))))),deref_opt(_constant_Float(deref_opt(_strategy_price_Volume_strategypriceMarketMaker(self.x)))))),deref_opt(_event_After_Float(deref_opt(_constant_Float(0.0))))))
def getImpl(self): from marketsim.gen._out.math._atan import Atan_Float as _math_Atan_Float from marketsim.gen._out.orderbook._queue import Queue_IOrderBookSide as _orderbook_Queue_IOrderBookSide from marketsim.gen._out.strategy._generic import Generic_IObservableIOrderIEvent as _strategy_Generic_IObservableIOrderIEvent from marketsim.gen._out.observable._breaksatchanges import BreaksAtChanges_IObservableFloat as _observable_BreaksAtChanges_IObservableFloat from marketsim.gen._out._constant import constant_Int as _constant_Int from marketsim.gen._out.trader._position import Position_IAccount as _trader_Position_IAccount from marketsim.gen._out.strategy.price._delta import Delta_strategypriceMarketMaker as _strategy_price_Delta_strategypriceMarketMaker from marketsim.gen._out.ops._div import Div_FloatFloat as _ops_Div_FloatFloat from marketsim.gen._out.math._exp import Exp_Float as _math_Exp_Float from marketsim.gen._out.strategy.price._volume import Volume_strategypriceMarketMaker as _strategy_price_Volume_strategypriceMarketMaker from marketsim.gen._out.orderbook._safesideprice import SafeSidePrice_IOrderQueueFloat as _orderbook_SafeSidePrice_IOrderQueueFloat from marketsim.gen._out.observable._oneverydt import OnEveryDt_FloatFloat as _observable_OnEveryDt_FloatFloat from marketsim.gen._out._constant import constant_Float as _constant_Float from marketsim.gen._out.order._floatingprice import FloatingPrice_FloatIObservableIOrderIObservableFloat as _order_FloatingPrice_FloatIObservableIOrderIObservableFloat from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.order._curried._price_limit import price_Limit_SideFloat as _order__curried_price_Limit_SideFloat from marketsim.gen._out.order._iceberg import Iceberg_IObservableIOrderFloat as _order_Iceberg_IObservableIOrderFloat from marketsim.gen._out.event._after import After_Float as _event_After_Float from marketsim import deref_opt from marketsim.gen._out.orderbook._oftrader import OfTrader_IAccount as _orderbook_OfTrader_IAccount return deref_opt( _strategy_Generic_IObservableIOrderIEvent( deref_opt( _order_Iceberg_IObservableIOrderFloat( deref_opt( _order_FloatingPrice_FloatIObservableIOrderIObservableFloat( deref_opt( _order__curried_price_Limit_SideFloat( self.side, deref_opt( _constant_Float((deref_opt( _strategy_price_Volume_strategypriceMarketMaker( self.x)) * 1000))))), deref_opt( _observable_BreaksAtChanges_IObservableFloat( deref_opt( _observable_OnEveryDt_FloatFloat( deref_opt( _ops_Div_IObservableFloatFloat( deref_opt( _orderbook_SafeSidePrice_IOrderQueueFloat( deref_opt( _orderbook_Queue_IOrderBookSide( deref_opt( _orderbook_OfTrader_IAccount( )), self. side)), deref_opt( _constant_Float(( 100 + (deref_opt( _strategy_price_Delta_strategypriceMarketMaker( self .x )) * self .sign) ))))), deref_opt( _math_Exp_Float( deref_opt( _ops_Div_FloatFloat( deref_opt( _math_Atan_Float( deref_opt( _trader_Position_IAccount( ) ) )), deref_opt( _constant_Int( 1000 ))) ))))), 0.9)))))), deref_opt( _constant_Float( deref_opt( _strategy_price_Volume_strategypriceMarketMaker( self.x)))))), deref_opt(_event_After_Float(deref_opt( _constant_Float(0.0))))))
def getImpl(self): from marketsim.gen._out.ops._div import Div_IObservableFloatFloat as _ops_Div_IObservableFloatFloat from marketsim.gen._out.ops._sub import Sub_IObservableFloatFloat as _ops_Sub_IObservableFloatFloat from marketsim.gen._out.math.EW._avg import Avg_IObservableFloatFloat as _math_EW_Avg_IObservableFloatFloat from marketsim.gen._out.math.EW._stddev import StdDev_IObservableFloatFloat as _math_EW_StdDev_IObservableFloatFloat return _ops_Div_IObservableFloatFloat(_ops_Sub_IObservableFloatFloat(self.source,_math_EW_Avg_IObservableFloatFloat(self.source,self.alpha)),_math_EW_StdDev_IObservableFloatFloat(self.source,self.alpha))
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))))