Skip to content

Instantly share code, notes, and snippets.

View fanannan's full-sized avatar

SAWADA Takahiro / Gugen Koubou LLC fanannan

  • Gugen Koubou LLC
  • Tokyo, Japan
View GitHub Profile
@fanannan
fanannan / libpython_clj_snippet_pandas.clj
Last active April 2, 2020 10:49
iloc and loc functions for pandas DataFrame in Clojure
; Clojupyter Snippet
(require '[clojupyter.misc.helper :as helper])
(helper/add-dependencies '[cnuernber/libpython-clj "1.36"])
(require '[libpython-clj.require :refer [require-python]]
'[libpython-clj.python :refer [py. py.. py.- $. $.. $a $c
as-python as-jvm
->python ->jvm
get-attr call-attr call-attr-kw
get-item att-type-map
call call-kw initialize!
@fanannan
fanannan / make_heatmap_data.py
Created February 26, 2020 01:36
process 3d data for heatmap
; not fast, just straitfoward
def make_heatmap_data(xs, ys, zs, func, cutoff, num_grids, min_samples):
xmin = np.nanpercentile(xs, cutoff*100)
xmax = np.nanpercentile(xs, (1-cutoff)*100)
ymin = np.nanpercentile(ys, cutoff*100)
ymax = np.nanpercentile(ys, (1-cutoff)*100)
xm = (xmax-xmin)/num_grids
ym = (ymax-ymin)/num_grids
r = [[list() for _ in range(num_grids)] for _ in range(num_grids)]
for x, y, z in zip(xs, ys, zs):
@fanannan
fanannan / libpython_clj_snippet.clj
Last active April 2, 2020 00:27
Clojupyter Snippet for libpython-clj
; Clojupyter Snippet
(require '[clojupyter.misc.helper :as helper])
(helper/add-dependencies '[cnuernber/libpython-clj "1.36"])
(require '[libpython-clj.require :refer [require-python]]
'[libpython-clj.python :refer [py. py.. py.-
as-python as-jvm
->python ->jvm
get-attr call-attr call-attr-kw
get-item att-type-map
call call-kw initialize!
@fanannan
fanannan / embedding_vix.py
Created May 4, 2018 07:27
Embedding category labels to multiple dimensions
# coding: utf-8
import os
import shutil
import pandas as pd
import numpy as np
import math
import quandl
from fastai.structured import add_datepart, proc_df
from fastai.column_data import ColumnarModelData
@fanannan
fanannan / extension.py
Created August 1, 2017 10:32
build data bundles for zipline with yahoo-style csv files
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from zipline.data.bundles import register
from zipline.data.bundles.yahoo_csv import yahoo_csv_equities # yahoo_csv.py need to be placed in zipline.data.bundles
tickers = {
"SPY", "VXX", "VXZ"
}
register(
@fanannan
fanannan / gist:c03323f374688d1e3ac9f8c94b80d19a
Created May 23, 2017 11:43
supplimental fix to pandas-datareader
# supplimental fix to pandas-datareader-'0.4.1' (not yet pulled proposal)
#
#
#$ git clone https://github.com/rgkimball/pandas-datareader
#$ cd pandas-datareader
#$ git checkout fix-yahoo
#$ pip install -e .
def fetch_yahoo(ticker):
NUM_RETRY = 5
@fanannan
fanannan / vxx_hmm(ipnb).py
Created February 23, 2017 08:15
simple vxx trade simulation by gaussian hmm
import datetime
import pickle
import warnings
import math
from hmmlearn.hmm import GaussianHMM, GMMHMM
from matplotlib import cm, pyplot as plt
from matplotlib.dates import YearLocator, MonthLocator
import numpy as np
import pandas as pd
import seaborn as sns
@fanannan
fanannan / vxx_intraday(ipnb).py
Created February 23, 2017 01:07
vxx intraday / overnight movement
%matplotlib inline
import os
import numpy as np
import matplotlib as mpl
import matplotlib.pyplot as plt
import pandas as pd
import glob
from joblib import Memory
from pandas_datareader import wb
import datetime as dt
@fanannan
fanannan / vix_sensitivities.py
Created February 12, 2017 04:22
check front-runners for VIX movement
# %matplotlib inline
import numpy as np
import pandas as pd
import pandas.io as io
import talib as ta
import datetime as dt
import math
from minepy import MINE
from pandas.io.data import DataReader
import urllib
@fanannan
fanannan / vix_range_band.py
Last active February 8, 2017 09:28
Draw 'possible range' of VIX movement
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import numpy as np
import pandas as pd
import datetime as dt
from pandas.io.data import DataReader
from joblib import Memory
import matplotlib as mpl
import matplotlib.pyplot as plt