Skip to content

Instantly share code, notes, and snippets.

View hugo1005's full-sized avatar

Hugo Dolan hugo1005

  • University College Dublin
View GitHub Profile
@hugo1005
hugo1005 / portfolio_opimization.py
Created January 22, 2021 21:10
portfolio_opimization
import requests
import pandas as pd
import time
import json
import numpy as np
import scipy as sp
import matplotlib.pyplot as plt
import seaborn as sns
from tqdm import tqdm
import cvxopt as opt
import pandas as pd
import pymc3 as pm
import matplotlib.pyplot as plt
import numpy as np
from tqdm import tqdm
model_df = pd.read_csv('./breakpoints.csv')
sectors = model_df['equity_sector'].unique()
industry = model_df['equity_industry'].unique()
@hugo1005
hugo1005 / Nested_plots.py
Created December 23, 2020 14:23
Nested / Picture In Picture Plots Example
import matplotlib.pyplot as plt
import pandas as pd
font_title = {'family': 'roboto',
'color': '#0f3567',
'weight': 'bold',
'size': 16,
}
font_mini_title = {'family': 'roboto',
@hugo1005
hugo1005 / Games_Howell.py
Created December 23, 2020 14:21
Games Howell Test (Multiple Comparisons)
from scipy.stats import f_oneway
a = all_metrics[all_metrics['significance'] == 'insignficant']['post_covid_return'].dropna().values
b = all_metrics[all_metrics['significance'] == 'intrinsic_only']['post_covid_return'].dropna().values
c = all_metrics[all_metrics['significance'] == 'sharpe_only']['post_covid_return'].dropna().values
d = all_metrics[all_metrics['significance'] == 'both']['post_covid_return'].dropna().values
import statsmodels
print(f_oneway(a,b,c,d)) # Signficicant Difference between groups
from itertools import combinations, product
@hugo1005
hugo1005 / AutoFitting.R
Created December 23, 2020 14:18
Fitting ARMA GARCH Models to many time series and saving the results
library(TSA)
library(forecast)
library(tseries)
garchAutoTryFit = function(
ll,
data,
trace=FALSE,
forecast.length=1,
with.forecast=TRUE,