Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

View mgei's full-sized avatar

Martin Geissmann mgei

View GitHub Profile
library(tidyverse)
library(jsonlite)
get_earnings <- function(symbol, av_key, get = "quarterly", cache_dir = "cache") {
if (!(cache_dir %in% list.dirs(full.names = F, recursive = F))) {
dir.create(cache_dir)
}
if (!(paste0(symbol, ".json") %in% list.files(cache_dir))) {
print("downloading")
library(tidyquant)
ty10 <- tq_get("DGS10", get = "economic.data", from = as.Date("1950-01-01"))
mod_dur <- function(yield) {
# out <- (1-(1/(1+0.5*yield/100)^(2*10)))/(yield/100)
out <- (1-(1/(1+0.5*yield)^(2*10)))/(yield)
return(out)
@mgei
mgei / pca2.R
Created February 8, 2021 16:04
# What is PCA?
# - PCA is a form of multi-dimensional scaling.
# - It transforms the data into a lower dimensional space while keeping the maxiumum of information.
# Book: Multi-Dimensional Diversification
# get data https://www.msci.com/end-of-day-data-search
library(tidyverse)
library(tidyquant)
library(readxl)
@mgei
mgei / fake_addresses
Created January 14, 2019 18:00
fake addresses with realistic locations
library(tidyverse)
library(lubridate)
library(leaflet)
# https://www.fakenamegenerator.com/order.php
# go there to generate fake addresses, don't forget to select to include longitude and latitude
addresses <- read_csv("FakeNameGenerator.com_f201506b.csv")
addresses <- addresses %>% mutate(Birthday = mdy(Birthday),
@mgei
mgei / financial_taccount_ggplot
Created January 16, 2019 08:42
Create a T-account plot for a balance sheet or income statement using ggplot2 in R
library(tidyverse)
library(scales)
scrapy_stocks <- function(stock){
if ("rvest" %in% installed.packages()) {
library(rvest)
}else{
install.packages("rvest")
library(rvest)
}
@mgei
mgei / sic_structure.csv
Created October 2, 2023 13:30
SIC structure (division, major group, major industry, industry) as sourced from https://www.osha.gov/data/sic-manual on 2023-10-02
We can make this file beautiful and searchable if this error is corrected: Unclosed quoted field in line 9.
"sicD","sic2","sic3","sic4","division","major_group","industry_group","industry"
"A","01","011","0111","Agriculture, Forestry, And Fishing","Agricultural Production Crops","Cash Grains","Wheat"
"A","01","011","0112","Agriculture, Forestry, And Fishing","Agricultural Production Crops","Cash Grains","Rice"
"A","01","011","0115","Agriculture, Forestry, And Fishing","Agricultural Production Crops","Cash Grains","Corn"
"A","01","011","0116","Agriculture, Forestry, And Fishing","Agricultural Production Crops","Cash Grains","Soybeans"
"A","01","011","0119","Agriculture, Forestry, And Fishing","Agricultural Production Crops","Cash Grains","Cash Grains, Not Elsewhere Classified"
"A","01","013","0131","Agriculture, Forestry, And Fishing","Agricultural Production Crops","Field Crops, Except Cash Grains","Cotton"
"A","01","013","0132","Agriculture, Forestry, And Fishing","Agricultural Production Crops","Field Crops, Except Cash Grains","Tobacco"
"A","01","013","0133","Agriculture, Forestry, And Fishing","Agricultural Pro