Examples
List all assets available
import goldengoose
assets = goldengoose.assets.list()
for asset in assets:
print (asset)
Get data for an asset
#!/usr/bin/env python
# Get data for an asset
import goldengoose
import datetime
asset_data = goldengoose.assets.get('ADBE')
# Get data start time...
start_date = asset_data['start']
start_date = datetime.datetime.strptime(start_date, '%Y-%m-%dT%H:%M:%SZ')
while start_date < datetime.datetime.now():
key = start_date.strftime("%Y-%m-%dT%H:%M:%SZ")
data = asset_data[key]
print (key, data)
start_date += datetime.timedelta(minutes=5)
Stream live data
#!/usr/bin/env python
# Example for aggregated live asset data
import goldengoose
import datetime
asset_data = goldengoose.assets.get('ADBE')
while True:
epoch = goldengoose.get_next_epoch()
if epoch not in asset_data:
goldengoose.wait_till_next_epoch()
print (asset_data[epoch])
Download all data for an asset
#!/usr/bin/env python
import goldengoose
asset_data = goldengoose.assets.get('ADBE')
local_json = asset_data.dump() # Careful, may take several minutes depending on your connection.
Download a date range for an asset
import goldengoose
asset_data = goldengoose.assets.get('ADBE')
start = '2020-01-02T00:00:00Z'
stop = '2023-11-01T00:00:00Z' # May be ommited to download data till last entry
local_json = asset_data.get_range(start, stop) # Careful, may take several minutes depending on your connection and size of date range.
Find x percent gainers/losers since yesterday
import goldengoose
import datetime
today = datetime.now().date()
yesterday = today - timedelta(days=1)
assets = goldengoose.assets.list()
for asset in assets:
asset_data = goldengoose.assets.get(asset)
yesterdays_close = yesterday.strftime("%Y-%m-%d") + "T21:00:00Z"
datapoint = asset_data[yesterdays_close]
close_price = datapoint['close_price']
todays_open = today.strftime("%Y-%m-%d") + "T13:30:00Z"
if todays_open not in asset_data:
print ("Todays open has not been written yet")
continue
datapoint = asset_data[todays_open]
open_price = datapont['open_price']
percent_change = ((open_price - close_price) / close_price) * 100
if percent_change > 1.75:
print ("Increase found: ", asset)