Skip to content

Instantly share code, notes, and snippets.

Name Ticker Weight
DIGITALOCEAN HOLDINGS INC DOCN 5.34
NETFLIX INC NFLX 5.08
PAYCOM SOFTWARE INC PAYC 4.94
ZOOM VIDEO COMMUNICATIONS-A ZM 4.71
DROPBOX INC-CLASS A DBX 4.7
SALESFORCE INC CRM 4.63
SPS COMMERCE INC SPSC 4.56
FIVE9 INC FIVN 4.49
SHOPIFY INC - CLASS A SHOP 4.28
Name Ticker Weight
ZOOM VIDEO COMMUNICATIONS-A ZM 9.18
TESLA INC TSLA 8.18
ROKU INC ROKU 7.94
CRISPR THERAPEUTICS AG CRSP 5.78
EXACT SCIENCES CORP EXAS 5.1
TELADOC HEALTH INC TDOC 5.06
UIPATH INC - CLASS A PATH 4.75
INTELLIA THERAPEUTICS INC NTLA 4.61
BLOCK INC SQ 4.35
@intrinio-gists
intrinio-gists / tearsheet.py
Last active July 5, 2022 20:47
Full TearSheet Walkthrough Code
import requests
import empyrical
import pandas as pd
import warnings
from retrying import retry
from prettytable import PrettyTable
warnings.simplefilter(action='ignore', category=(FutureWarning, UserWarning))
api_key = 'YOUR_INTRINIO_API_KEY_HERE'
@intrinio-gists
intrinio-gists / tearsheet.py
Last active June 16, 2022 19:14
TearSheet Imports
import requests
import empyrical
import pandas as pd
import warnings
from retrying import retry
from prettytable import PrettyTable
warnings.simplefilter(action='ignore', category=(FutureWarning, UserWarning))
api_key = 'YOUR_INTRINIO_API_KEY_HERE'
@intrinio-gists
intrinio-gists / tearsheet.py
Last active July 5, 2022 20:46
Calculates and Compiles Portfolio TearSheet Table
def _folio_tearsheet(
start_date,
end_date,
ticker_weights_dataset,
):
tickers = list(ticker_weights_dataset.index)
folio_historic_prices_dataset = _folio_historic_prices_dataset(
tickers,
start_date,
@intrinio-gists
intrinio-gists / tearsheet.py
Created June 16, 2022 19:11
Constructs DataFrames for Daily Returns
def _daily_returns_dataset(
historic_prices,
):
daily_returns_dataset = historic_prices.pct_change()
daily_returns_dataset = daily_returns_dataset.fillna(
0,
inplace=False
)
return daily_returns_dataset
@intrinio-gists
intrinio-gists / tearsheet.py
Created June 16, 2022 19:10
Constructs a DataFrame of Historic Prices Across Portfolio Holdings
def _folio_historic_prices_dataset(
tickers,
start_date,
end_date,
):
historic_prices_dataset = pd.DataFrame()
for ticker in tickers:
historic_prices = _historic_prices(
ticker,
@intrinio-gists
intrinio-gists / tearsheet.py
Created June 16, 2022 19:10
Returns a DataFrame of Historic Prices
@retry(stop_max_attempt_number=2, wait_random_min=1000, wait_random_max=2000)
def _historic_prices(
ticker,
start_date,
end_date,
):
historic_prices = None
response = requests.get(f'https://api-v2.intrinio.com/securities/{ticker}/prices', params={
'page_size': 10000,
@intrinio-gists
intrinio-gists / etf.py
Created May 6, 2022 15:35
Full ETF Diversity Code Walkthrough
import requests
import pandas as pd
api_key = "YOUR_INTRINIO_API_KEY_HERE"
def _etf_holdings_dataset(etf_ticker, allocation):
res = requests.get(f"https://api-v2.intrinio.com/etfs/{etf_ticker}/holdings?page_size=10000&api_key={api_key}")
etf_holdings_dataset = pd.DataFrame(res.json().get("holdings"))
etf_holdings_dataset["funds_allocation"] = etf_holdings_dataset["weighting"] * allocation
@intrinio-gists
intrinio-gists / etf.py
Created May 6, 2022 15:30
ETF Allocations Dataset
def _etf_diversity_dataset(etf_tickers_and_allocations):
ETFs = []
for etf_ticker, allocation in etf_tickers_and_allocations.items():
etf_holdings_dataset = _etf_holdings_dataset(etf_ticker, allocation)
ETFs.append(etf_holdings_dataset)
etf_diversity_dataset = pd.concat(ETFs).groupby(by=["ticker", "sedol"]).sum()
etf_diversity_dataset = etf_diversity_dataset.sort_values(by="funds_allocation", ascending=False)