Skip to content

Instantly share code, notes, and snippets.

@prerak-proof
prerak-proof / convert_symbol.py
Last active March 4, 2022 20:56
Symbology Conversion
import re
def cms_to_inet(sym):
splits = sym.split(' ', 2)
if len(splits) == 1:
return sym
root, suffix = splits
suffix = suffix.replace('PR', '-')
suffix = suffix.replace('WD', '$')
suffix = suffix.replace('WS', '+')
@prerak-proof
prerak-proof / symbology_rosetta.csv
Last active September 26, 2023 13:32
Symbology Rosetta
Type INET CMS Bloomberg Y! Finance Composite RIC Notes
Class Shares BRK.B BRK B BRK/B BRK-B BRKb
Preferred Shares TY- TY PR n/a TY-P TY_p Bloomberg: TY Pfd
Preferred Class Shares BAC-L BAC PRL n/a BAC-PL BAC_pl Bloomberg: BAC Pfd
Warrants OXY+ OXY WS OXY/WS OXY-WT OXY_t
Warrants Class A TDW+A TDW WSA TDW/WS/A TDW-WTA TDW_ta
Rights CELG^ CELG RT CELG-R CELG-RI CELG_r.K 4-letter root ⇒ .K suffix
Units GRP= GRP U GRP/U GRP-UN GRP_u
When Issued POST# POST WI POST-W POST-WI POST_w.K
Rights When Issued GLO^# GLO RTWI GLO-R-W GLO-RIWI GLO_rw
@prerak-proof
prerak-proof / set_prebuild_cleanup.groovy
Last active November 2, 2021 12:11
Jenkins worksplace cleanup
import hudson.tasks.*
import hudson.plugins.ws_cleanup.*
processGroup(Jenkins.instance)
def processGroup(itemGroup) {
for(item in itemGroup.items) {
if (item.class.simpleName == "Folder") {
processGroup(item)
} else {
@prerak-proof
prerak-proof / .bash_profile.sh
Last active November 29, 2021 23:16
Git shortcuts
alias cleangit='git branch --merged=master | grep -v "master$" | xargs -r git branch -d'
function gitmaster() {
git fetch -p || return 1
git --no-pager log --oneline master..origin/master
git pull --rebase origin master:master || return 1
git checkout master || return 1
cleangit
}
@prerak-proof
prerak-proof / set_build_discarder.groovy
Created April 6, 2021 21:57
Jenkins set build discarder
processGroup(Jenkins.instance)
def processGroup(itemGroup) {
itemGroup.items.each { j ->
if (j.class.simpleName == "Folder") {
processGroup(j)
} else {
if (j.supportsLogRotator()) {
j.setBuildDiscarder(new hudson.tasks.LogRotator(365, 30, 365, 30))
println(j)
@prerak-proof
prerak-proof / cleanup.groovy
Created March 31, 2021 15:09
Delete orphaned Jenkins workspaces
import jenkins.slaves.WorkspaceLocator
workspaceRoot = WorkspaceLocator.all()[0].getWorkspaceRoot(Jenkins.get())
processDir(workspaceRoot, Jenkins.instance)
def processDir(rootDir, holder) {
rootDir.list().each { dir ->
deleteIfInvalid(dir, holder.getItem(dir.name))
}
}
@prerak-proof
prerak-proof / 17a4.sh
Created September 8, 2020 14:31
Script for archiving data from G-Drive to Wasabi
#!/bin/bash
SYS_ROOT=/mnt/c/Proof
WORK_ROOT=$SYS_ROOT/17a4-logs
# log files
CTIME=$(date "+%Y%m%d-%H%M%S")
LOGFILE=$WORK_ROOT/${CTIME}.log.txt
exec >> $LOGFILE 2>&1
@prerak-proof
prerak-proof / dbperf.csv
Last active December 9, 2019 13:44
Database Performance Stats
Query MySQL/PostgreSQL ClickHouse DolphinDB MemSQL
Load 35M trades DNF (out of memory) ~32 sec ~6 sec ~80 sec
Load 719M quotes DNF (out of memory) ~13 min ~11 min ~24 min
As-of join for SPY - 1.3 sec 358 ms 52 sec
As-of join for all symbols - DNF (out of memory) 25 sec 1 h
VWAP by minute for all symbols - 1.3 sec 5.7 sec 2 sec
OHLC minute bars for all symbols - 1.7 sec 771 ms 3.9 sec
Time-weighted spread for all symbols - 49 sec 23 sec 124 sec