get_algorithm_bars

Description

Returns price bars (at the specified resolution over the specified interval) for the securities in an algorithm's holdings.

Arguments:

  • api_key
  • experiment_id
  • time_in: start of time interval
  • time_end: end of time interval
  • base: base currency
  • resolution: the time resolution of the bars ('hour' or 'minute')

Simple Example

eid = 'test_market_order-'+str(uuid.uuid1())
purchase_date = datetime.datetime(2020,4,1,10)

## 1  Put some cash into this EID
transdat = pq.submit_transaction({
                                'experiment_id': eid,
                                'symbol': 'USDT',
                                'quantity': 1000000,
                                'value': 1000000,
                                'date': purchase_date,
                                'unit_price': 1.0,
                                'account_currency': 'USDT',
                                'type': 'algorithm',
                                'note': "Initial Cash Deposit",
                                #'do_not_update_holdings':True,
                                'api_key':api_key},remote=True)


        from_symbol = 'USDT'
        to_symbol = 'BTC'
        to_quantity = 0.1
        order_type = 'BUY'
        purchase_date = datetime.datetime(2020,4,1,10)
        limit_date = purchase_date + datetime.timedelta(days=1)

dat = pq.submit_single_market_order({'from_symbol':from_symbol,
                            'to_symbol': to_symbol,
                            'to_quantity': to_quantity,
                            'experiment_id':eid,
                            'type': order_type,
                            'purchase_date':purchase_date,
                            'tag':"test submit",
                            #'limit_value': None,
                            'limit_date': limit_date,
                            'symbol_discovery':'BINANCE',                 
                            #'market_price':None,
                            #'avg_fill_price':None,
                            #'market_status':None,
                            #'status':'simulated',
                            #'transaction_fee':min([proceeds*0.005,0.01*proceeds])*2,
                            #'transaction_ids':transaction_ids}
                              })

dat = pq.manage_experiment({'api_key':api_key,
                                    'current_date':purchase_date+datetime.timedelta(hours=1),
                                    'base_symbol':'USDT',
                                    'symbol_discovery':'BINANCE',
                                    'experiment_id':eid,},remote=True)


q = {'experiment_id':eid}
dat = pq.find_algorithm_single_orders(q,remote=True)

bars = pq.get_algorithm_bars( {  'api_key': api_key,
                                         'experiment_id': eid,
                                         'time_in': purchase_date,
                                         'time_end': purchase_date + datetime.timedelta(hours=2),
                                         'base': 'USDT',
                                         'resolution': 'hour',
                                      }
                                      ,remote=True)

Simple Example Output

Failure Examples

purchase_date = datetime.datetime(2020,4,1,10)
bars = pq.get_algorithm_bars( {  'api_key': api_key,
                                         #'experiment_id': eid,
                                         'time_in': purchase_date,
                                         'time_end': purchase_date + datetime.timedelta(hours=2),
                                         'base': 'USDT',
                                         'resolution': 'hour',
                                      }
                                      ,remote=True)

Failure Examples Output

Three Examples

eid = 'test_market_order-'+str(uuid.uuid1())       
purchase_date = datetime.datetime(2020,4,1,10)
bars = pq.get_algorithm_bars( {  'api_key': api_key,
                                         'experiment_id': eid,
                                         'time_in': purchase_date,
                                         'time_end': purchase_date + datetime.timedelta(hours=2),
                                         'base': 'USDT',
                                         #'resolution': 'hour',
                                      }
                                      ,remote=True)


############################

eid = 'test_market_order-'+str(uuid.uuid1())        
purchase_date = datetime.datetime(2020,4,1,10)
bars = pq.get_algorithm_bars( {  'api_key': api_key,
                                         'experiment_id': eid,
                                         'time_in': purchase_date,
                                         'time_end': purchase_date + datetime.timedelta(hours=2),
                                         #'base': 'USDT',
                                         'resolution': 'hour',
                                      }
                                      ,remote=True)

#################################

eid = 'test_market_order-'+str(uuid.uuid1())        
purchase_date = datetime.datetime(2020,4,1,12)
bars = pq.get_algorithm_bars( {  'api_key': api_key,
                                         'experiment_id': eid,
                                         'time_in': purchase_date,
                                         'time_end': purchase_date - datetime.timedelta(hours=2),
                                         'base': 'USDT',
                                         'resolution': 'hour',
                                      }
                                      ,remote=True)

Three Examples Output