Beispiel #1
0
 def __init__(self):
     _Holder_Impl.__init__(self)
     # event to be fired when an order has been sent
     self.on_order_sent = event.Event()
     # event to be fired when an order issued by the trader has been matched
     self.on_order_matched = event.Event()
     # event to be fired when an order issued by the trader has been cancelled
     self.on_order_disposed = event.Event()
     # event to be fired when a trader's is traded; to be removed
     self.on_traded = event.Event()
     self.reset()
Beispiel #2
0
 def __init__(self):
     event.subscribe(self.inner.on_order_created, _(self).onOrderCreated, self)
     event.subscribe(OnOrderMatched(), _(self)._onOrderMatched, self)
     self.on_traded = event.Event()
     self.orderBook = OfTrader()
     self._balance = 0
     self._position = 0
Beispiel #3
0
    def __init__(self):

        # orders created by trader
        from marketsim.gen._out.trader._singleproxy import SingleProxy
        from marketsim.gen._out.orderbook._oftrader import OfTrader
        self._elements = []
        self._eventGen = event.Every(self.cancellationIntervalDistr)
        self._myTrader = SingleProxy()
        self._book = OfTrader(self._myTrader)
        self.on_order_created = event.Event()
Beispiel #4
0
 def __init__(self, delta=None, volume=None):
     from marketsim import rtti
     from marketsim import event
     from marketsim import _
     self.delta = delta if delta is not None else 1.0
     self.volume = volume if volume is not None else 20.0
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
 def __init__(self, orderFactory = None, alpha = None, k = None):
     from marketsim.gen._out.order._curried._signedvolume_marketsigned import signedVolume_MarketSigned_ as _order__curried_signedVolume_MarketSigned_
     from marketsim import _
     from marketsim import rtti
     from marketsim.gen._out._const import const_Float as _const_Float
     from marketsim import event
     self.orderFactory = orderFactory if orderFactory is not None else _order__curried_signedVolume_MarketSigned_()
     self.alpha = alpha if alpha is not None else 0.15
     self.k = k if k is not None else _const_Float(0.5)
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
 def __init__(self, eventGen = None, orderFactory = None, ewma_alpha = None):
     from marketsim import _
     from marketsim import rtti
     from marketsim.gen._out.order._curried._side_market import side_Market_Float as _order__curried_side_Market_Float
     from marketsim.gen._out.event._every import Every_Float as _event_Every_Float
     from marketsim.gen._out.math.random._expovariate import expovariate_Float as _math_random_expovariate_Float
     from marketsim import event
     self.eventGen = eventGen if eventGen is not None else _event_Every_Float(_math_random_expovariate_Float(1.0))
     self.orderFactory = orderFactory if orderFactory is not None else _order__curried_side_Market_Float()
     self.ewma_alpha = ewma_alpha if ewma_alpha is not None else 0.15
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
 def __init__(self, eventGen = None, orderFactory = None, bookToDependOn = None, factor = None):
     from marketsim import _
     from marketsim import rtti
     from marketsim.gen._out.order._curried._side_market import side_Market_Float as _order__curried_side_Market_Float
     from marketsim.gen._out.orderbook._oftrader import OfTrader_IAccount as _orderbook_OfTrader_IAccount
     from marketsim.gen._out.event._every import Every_Float as _event_Every_Float
     from marketsim.gen._out.math.random._expovariate import expovariate_Float as _math_random_expovariate_Float
     from marketsim import event
     self.eventGen = eventGen if eventGen is not None else _event_Every_Float(_math_random_expovariate_Float(1.0))
     self.orderFactory = orderFactory if orderFactory is not None else _order__curried_side_Market_Float()
     self.bookToDependOn = bookToDependOn if bookToDependOn is not None else _orderbook_OfTrader_IAccount()
     self.factor = factor if factor is not None else 1.0
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
 def __init__(self, inner=None, account=None, performance=None):
     from marketsim import _
     from marketsim import rtti
     from marketsim.gen._out.strategy.weight.trader._trader_traderefficiencytrend import trader_TraderEfficiencyTrend_Float as _strategy_weight_trader_trader_TraderEfficiencyTrend_Float
     from marketsim.gen._out.strategy._noise import Noise_IEventSideIObservableIOrder as _strategy_Noise_IEventSideIObservableIOrder
     from marketsim.gen._out.strategy.account.inner._inner_virtualmarket import inner_VirtualMarket_ as _strategy_account_inner_inner_VirtualMarket_
     from marketsim import event
     self.inner = inner if inner is not None else _strategy_Noise_IEventSideIObservableIOrder(
     )
     self.account = account if account is not None else _strategy_account_inner_inner_VirtualMarket_(
     )
     self.performance = performance if performance is not None else _strategy_weight_trader_trader_TraderEfficiencyTrend_Float(
     )
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
Beispiel #9
0
 def __init__(self, initialValue = None, priceDistr = None, eventGen = None, orderFactory = None, side = None):
     from marketsim import _
     from marketsim import rtti
     from marketsim.gen._out.math.random._lognormvariate import lognormvariate_FloatFloat as _math_random_lognormvariate_FloatFloat
     from marketsim.gen._out.side._sell import Sell_ as _side_Sell_
     from marketsim.gen._out.event._every import Every_Float as _event_Every_Float
     from marketsim.gen._out.math.random._expovariate import expovariate_Float as _math_random_expovariate_Float
     from marketsim.gen._out.order._curried._sideprice_limit import sideprice_Limit_Float as _order__curried_sideprice_Limit_Float
     from marketsim import event
     self.initialValue = initialValue if initialValue is not None else 100.0
     self.priceDistr = priceDistr if priceDistr is not None else _math_random_lognormvariate_FloatFloat(0.0,0.1)
     self.eventGen = eventGen if eventGen is not None else _event_Every_Float(_math_random_expovariate_Float(1.0))
     self.orderFactory = orderFactory if orderFactory is not None else _order__curried_sideprice_Limit_Float()
     self.side = side if side is not None else _side_Sell_()
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
 def __init__(self,
              ticker=None,
              start=None,
              end=None,
              delta=None,
              volume=None):
     from marketsim import rtti
     from marketsim import event
     from marketsim import _
     self.ticker = ticker if ticker is not None else "^GSPC"
     self.start = start if start is not None else "2001-1-1"
     self.end = end if end is not None else "2010-1-1"
     self.delta = delta if delta is not None else 1.0
     self.volume = volume if volume is not None else 1000.0
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
Beispiel #11
0
 def __init__(self,
              eventGen=None,
              orderFactory=None,
              signal=None,
              threshold=None):
     from marketsim import _
     from marketsim import rtti
     from marketsim.gen._out.order._curried._side_market import side_Market_Float as _order__curried_side_Market_Float
     from marketsim.gen._out.event._every import Every_Float as _event_Every_Float
     from marketsim.gen._out._constant import constant_Float as _constant_Float
     from marketsim.gen._out.math.random._expovariate import expovariate_Float as _math_random_expovariate_Float
     from marketsim import event
     self.eventGen = eventGen if eventGen is not None else _event_Every_Float(
         _math_random_expovariate_Float(1.0))
     self.orderFactory = orderFactory if orderFactory is not None else _order__curried_side_Market_Float(
     )
     self.signal = signal if signal is not None else _constant_Float(0.0)
     self.threshold = threshold if threshold is not None else 0.7
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
Beispiel #12
0
 def __init__(self,
              eventGen=None,
              orderFactory=None,
              alpha=None,
              timeframe=None,
              threshold=None):
     from marketsim import _
     from marketsim import rtti
     from marketsim.gen._out.order._curried._side_market import side_Market_Float as _order__curried_side_Market_Float
     from marketsim.gen._out.event._every import Every_Float as _event_Every_Float
     from marketsim.gen._out.math.random._expovariate import expovariate_Float as _math_random_expovariate_Float
     from marketsim import event
     self.eventGen = eventGen if eventGen is not None else _event_Every_Float(
         _math_random_expovariate_Float(1.0))
     self.orderFactory = orderFactory if orderFactory is not None else _order__curried_side_Market_Float(
     )
     self.alpha = alpha if alpha is not None else (1.0 / 14)
     self.timeframe = timeframe if timeframe is not None else 1.0
     self.threshold = threshold if threshold is not None else 30.0
     rtti.check_fields(self)
     self.impl = self.getImpl()
     self.on_order_created = event.Event()
     event.subscribe(self.impl.on_order_created, _(self)._send, self)
Beispiel #13
0
 def __init__(self):
     Base.__init__(self)
     self.on_order_created = event.Event()