Ejemplo n.º 1
0
def test_order_trade_task():
    from jaqs.data.basic import TradeStat, Trade, Task, TaskInd, Order, OrderStatusInd

    order = Order()
    order.symbol = 'SPY'
    order.task_id = 10000001
    order.entrust_no = '123'

    order.entrust_size = 10
    order.entrust_action = 'Short'
    order.entrust_price = 1.2
    order.entrust_time = 95055
    order.entrust_date = 20171201

    order.fill_price = 1.19
    order.fill_size = 3
    order.commission = 0.001

    str(order)

    o2 = Order(order)
    o2.entrust_no = '124'

    o3 = Order.new_order('SPY', 'Buy', 10, 10, 20111111, 143029, 'Limit')

    oind = OrderStatusInd(order)
    OrderStatusInd.create_from_dict({'symbol': 'SPY'})
    str(oind)

    task = Task(order.task_id, 'vwap', {'a': 'b'}, order, 'place_order',
                order.entrust_date)
    assert (not task.is_finished)
    task.task_status = common.TASK_STATUS.DONE
    assert task.is_finished

    tind = TaskInd(task.task_id, task.task_status, task.algo, 'success')
    str(tind)

    tind2 = TaskInd.create_from_dict({'task_id': 2011223})

    trade = Trade(order)
    trade.set_fill_info(15, 20, 20171202, 112311, 12345)
    str(trade)

    t2 = Trade.create_from_dict({'symbol': 'SPY'})

    tstat = TradeStat()
    str(tstat)
Ejemplo n.º 2
0
    def on_task_status(self, ind_dic):
        # print("\nGateway on task ind: ")
        # print(ind_dic)
        ind = TaskInd.create_from_dict(ind_dic)
        ind.task_no = self._task_no_id_map[ind.task_id]

        e = Event(EVENT_TYPE.TASK_STATUS_IND)
        e.dic['ind'] = ind
        self.ctx.instance.put(e)
Ejemplo n.º 3
0
def test_order_trade_task():
    from jaqs.data.basic import TradeStat, Trade, Task, TaskInd, Order, OrderStatusInd
    
    order = Order()
    order.symbol = 'SPY'
    order.task_id = 10000001
    order.entrust_no = '123'
    
    order.entrust_size = 10
    order.entrust_action = 'Short'
    order.entrust_price = 1.2
    order.entrust_time = 95055
    order.entrust_date = 20171201
    
    order.fill_price = 1.19
    order.fill_size = 3
    order.commission = 0.001
    
    str(order)
    
    o2 = Order(order)
    o2.entrust_no = '124'
    
    o3 = Order.new_order('SPY', 'Buy', 10, 10, 20111111, 143029, 'Limit')
    
    oind = OrderStatusInd(order)
    OrderStatusInd.create_from_dict({'symbol': 'SPY'})
    str(oind)
    
    task = Task(order.task_id, 'vwap', {'a': 'b'}, order, 'place_order', order.entrust_date)
    assert (not task.is_finished)
    task.task_status = common.TASK_STATUS.DONE
    assert task.is_finished
    
    tind = TaskInd(task.task_id, task.task_status, task.algo, 'success')
    str(tind)
    
    tind2 = TaskInd.create_from_dict({'task_id': 2011223})
    
    trade = Trade(order)
    trade.set_fill_info(15, 20, 20171202, 112311, 12345)
    str(trade)
    
    t2 = Trade.create_from_dict({'symbol': 'SPY'})
    
    tstat = TradeStat()
    str(tstat)
Ejemplo n.º 4
0
    def match_and_callback(self, quote, freq):
        results = self._process_quote(quote, freq)
        
        for trade_ind, order_status_ind in results:
            self._add_commission(trade_ind)
            
            # self._add_task_id(trade_ind)
            # self._add_task_id(order_status_ind)
            task_id = self.entrust_no_task_id_map[trade_ind.entrust_no]

            self._order_status_callback(order_status_ind)
            self._trade_callback(trade_ind)

            task = self.ctx.pm.get_task(task_id)
            if task.is_finished:
                task_ind = TaskInd(task_id, task_status=task.task_status,
                                   task_algo='', task_msg="")
                self._task_status_callback(task_ind)
Ejemplo n.º 5
0
 def match_and_callback(self, price_dict):
     results = self._simulator.match(price_dict, date=self.ctx.trade_date, time=self.MATCH_TIME)
 
     for trade_ind, order_status_ind in results:
         self._add_commission(trade_ind)
     
         task_id = self.entrust_no_task_id_map[trade_ind.entrust_no]
         self._add_task_id(trade_ind)
         self._add_task_id(order_status_ind)
     
         self._order_status_callback(order_status_ind)
         self._trade_callback(trade_ind)
     
         task = self.ctx.pm.get_task(task_id)
         if task.is_finished:
             task_ind = TaskInd(task_id, task_status=task.task_status,
                                task_algo='', task_msg="")
             self._task_status_callback(task_ind)
     return results
Ejemplo n.º 6
0
    def on_task_status(self, ind_dic):
        # print("\nGateway on task ind: ")
        # print(ind_dic)
        ind = TaskInd.create_from_dict(ind_dic)

        self.ctx.strategy.on_task_status(ind)
Ejemplo n.º 7
0
 def on_task_status(self, ind_dic):
     # print("\nGateway on task ind: ")
     # print(ind_dic)
     ind = TaskInd.create_from_dict(ind_dic)
     
     self.ctx.strategy.on_task_status(ind)