Skip to content

Instantly share code, notes, and snippets.

Joshua Ulrich joshuaulrich

Block or report user

Report or block joshuaulrich

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View nPri.C
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
int main ( int argc, char *argv[] )
{
int n, r, k;
n = atoi(argv[1]); // # of available elements
k = atoi(argv[2]); // # of permutation index
r = atoi(argv[3]); // # of elements to be selected
View world indexes since 2008-06.r
require(quantmod)
#get index tickers without the ^ which we will add in the getSymbols
tckrs=c("GSPC","TNX","DJUBS","W3DOW","W5DOW")
#name the indexes
names(tckrs) <- c("S&P 500","US 10y Yld","DJ Commodity","Developed","Developing")
#use paste to add the ^ to the index tickers
getSymbols(paste("^",tckrs,sep=""), from="1986-01-01", to=Sys.Date())
@joshuaulrich
joshuaulrich / CBOE_csv_to_xts
Created Oct 19, 2012 — forked from jaredwoodard/CBOE_csv_to_xts
pulls csv files from the CBOE and converts them to xts
View CBOE_csv_to_xts
library(quantmod)
# we're pulling the Google VIX index (VXGOG) but this also works for VXAPL, VXGS etc.
# see http://www.cboe.com/micro/equityvix/introduction.aspx
url <- "http://www.cboe.com/publish/ScheduledTask/mktdata/datahouse/VXGOGDailyPrices.csv"
# use read.zoo to read the data directly into a zoo object
z <- read.zoo(url, header=TRUE, sep=",", skip=1, FUN=as.Date, format="%m/%d/%Y")
# convert to xts
@joshuaulrich
joshuaulrich / objSize.R
Created Dec 16, 2012
List objects from current scope by size
View objSize.R
objSize <- function(n=10, decreasing=TRUE) {
# list 'n' objects, sorted by size
l <- ls(envir=parent.frame())
N <- seq(min(length(l),n))
x <- setNames(lapply(l, object.size), l)
y <- x[order(unlist(x),decreasing=decreasing)]
z <- sapply(y, function(a) capture.output(print(a, units="auto")))
return(z[N])
}
@joshuaulrich
joshuaulrich / xtsNonIndexAttributes
Created May 21, 2015
Return all non-index attributes for xts objects, in sorted order
View xtsNonIndexAttributes
nonIndexAttr <- function(x) {
a <- attributes(x)
n <- names(a)[!names(a) %in% "index"]
a[sort(n)]
}
@joshuaulrich
joshuaulrich / cput.c
Last active Jan 12, 2017
Call dput() from C
View cput.c
/* Copyright (C) 2017 Joshua M. Ulrich
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@joshuaulrich
joshuaulrich / output.txt
Created May 28, 2017 — forked from romainfrancois/output.txt
Extract promises and their environments from ...
View output.txt
> f <- function(...) {
+ promises(environment())
+ }
> g <- function(x = 3, ...) {
+ z <- 4
+ f(z = z, ..., x = x)
+ }
> h <- function(..., a = 2) {
@joshuaulrich
joshuaulrich / subset_showdown_xts_matrix.R
Created Jul 10, 2017
Subsetting showdown: matrix vs xts
View subset_showdown_xts_matrix.R
library(xts)
library(microbenchmark)
set.seed(21)
m <- matrix(1,5e6,50)
x <- .xts(m,1:nrow(m))
i <- sort(sample(nrow(m),2e4))
j <- sample(50, 10)
I <- i[1]
J <- j[1]
microbenchmark(m[i,], x[i,], unit="us") # faster than matrix for rows
@joshuaulrich
joshuaulrich / detect_outliers.c
Created Aug 4, 2017
Detect outliers in 'real-time' using Richard Olsen's method in "High Frequency Finance"
View detect_outliers.c
/*
* Copyright (C) 2017 Joshua M. Ulrich
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
@joshuaulrich
joshuaulrich / 10y-oscillator.R
Last active Aug 27, 2017 — forked from mbusigin/10y-oscillator.R
Generate chart with 10y yield oscillator (10y yield minus 260d moving average), +/- 1 stdev dashed lines
View 10y-oscillator.R
recplot <- function(var, rec.ind, maintitle = "", ylab = "", ylim = NULL)
{
# Give each recession a separate number, so we can split data by recession
# and calculate the necessary values to pass to addPolygon() for shading
r <- rle(as.integer(rec.ind))
r$values[r$values > 0] <- seq_len(sum(r$values))
rec <- xts(inverse.rle(r), index(rec.ind))
# Merge variable and recession data, as a left-join so we do not have
# observations that only exist in the recession indicator data
You can’t perform that action at this time.