예제 #1
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))))
예제 #2
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_())))))
예제 #3
0
 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))))
예제 #4
0
 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))))
예제 #5
0
 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))))
예제 #6
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_())))))
예제 #7
0
 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))))
예제 #8
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))))