alpacahq / alpacahq/Alpaca-API

requests.exceptions.HTTPError: 403 Client Error: Forbidden for url

Đang mở
#192 0 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
Không có dữ liệu ngôn ngữ
Star
174
Fork
17
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

The error:
```python
requests.exceptions.HTTPError: 403 Client Error: Forbidden for url: https://data.alpaca.markets/v1/bars/5Min?symbols=AAPL&limit=1000&start=2020-01-01T00%3A00%3A00-04%3A00&end=2020-01-11T23%3A00%3A00-04%3A00
```

My code:
```python
from datetime import datetime, timedelta
import pandas as pd
from tqdm import tqdm
import time

import alpaca_trade_api as tradeapi

def break_period_in_dates_list(start_date, end_date, days_per_step):
'''Break period between start_date and end_date in steps of days_per_step days.'''
step_start_date = start_date
delta = timedelta(days=days_per_step)
dates_list = []
while end_date > (step_start_date + delta):
dates_list.append((step_start_date, step_start_date+delta))
step_start_date += delta
dates_list.append((step_start_date, end_date))
return dates_list

def format_timestep_list(timestep_list):
'''Format dates in ISO format plus timezone. Note that first day starts at 00:00 and last day ends at 23:00hs.'''
for i, d in enumerate(timestep_list):
timestep_list[i] = (d[0].isoformat() + '-04:00', (d[1].isoformat().split('T')[0] + 'T23:00:00-04:00'))
return timestep_list

def get_df_from_barset(barset):
'''Create a Pandas Dataframe from a barset.'''
df_rows = []
for symbol, bar in barset.items():
rows = bar.__dict__.get('_raw')
for i, row in enumerate(rows):
row['symbol'] = symbol
df_rows.extend(rows)

return pd.DataFrame(df_rows)

def download_data(aps, symbols, start_date, end_date, filename='data.csv'):
'''Download data from REST manager for list of symbols, from start_date at 00:00hs to end_date at 23:00hs,
and save it to filename as a csv file.'''
timesteps = format_timestep_list(break_period_in_dates_list(start_date, end_date, 10))
df = pd.DataFrame()

for timestep in tqdm(timesteps):
barset = aps.get_barset(symbols, '5Min', limit=1000, start=timestep[0], end=timestep[1])
df = df.append(get_df_from_barset(barset))
time.sleep(0.1)

df.to_csv(filename)


# Call method.
aps = tradeapi.REST(key_id = '8234d8a5df686d085318b14fb6302889',
secret_key = '60d7290794ade03e17595dcebb6d47b58c1aea19',
base_url = 'https://paper-api.alpaca.markets')

download_data(aps = aps,
symbols = ['AAPL'],
start_date = datetime.strptime('01/01/20', '%d/%m/%y'),
end_date = datetime.strptime('01/02/20', '%d/%m/%y'),
filename = 'test.csv')

```

OS: Windows 10
Browser: Edge
Python: 3.8.3

Thanks for the help.

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.