Skip to content

Instantly share code, notes, and snippets.

@ivannp
ivannp / m4b2mp3.py
Created February 12, 2017 02:28
Converting files (.m4b to .mp3) in python
import glob
import os
import subprocess
def main():
base_dir = os.path.abspath('d:/abooks')
ffmpeg_path = os.path.abspath('C:/tools/ffmpeg/bin/ffmpeg.exe')
pattern = os.path.join(base_dir, '**', '*.m4b')
@ivannp
ivannp / armaSearch.R
Created June 12, 2012 00:32
Determine the best ARMA model
armaSearch = function(
xx,
minOrder=c(0,0),
maxOrder=c(5,5),
trace=FALSE )
{
bestAic = 1e9
len = NROW( xx )
for( p in minOrder[1]:maxOrder[1] ) for( q in minOrder[2]:maxOrder[2] )
{
garchAutoTryFit = function(
ll,
data,
trace=FALSE,
forecast.length=1,
with.forecast=TRUE,
ic="AIC",
garch.model="garch" )
{
formula = as.formula( paste( sep="",
@ivannp
ivannp / e1071.R
Created December 1, 2012 03:18
Back-testing SVM with e1071
svmComputeOneForecast = function(
id,
data,
response,
startPoints,
endPoints,
len,
history=500,
trace=FALSE,
kernel="radial",
@ivannp
ivannp / mlloop.py
Last active November 5, 2018 20:30
Walk-Forward Machine Learning Loop
import dshelper as dsh
import numpy as np
import os
import pandas as pd
import sys
import time
from sklearn.discriminant_analysis import QuadraticDiscriminantAnalysis as QDA
from sqlalchemy import create_engine, MetaData
#!/bin/bash -x
echo "Script started";
echo "Downloading the Ranger policy patch script";
wget -O /tmp/patch_policy_esp.py https://hdiconfigactions.blob.core.windows.net/linuxhdiplclusterconfigactionv01/patch_policy_esp.py
sudo python /tmp/patch_policy_esp.py
echo "Scripts Finished"
@ivannp
ivannp / computeArmaForcasts.R
Created June 9, 2012 21:27
Compute a day-by-day trading indicator using ARMA models
armaTryFit = function(
ll,
data,
trace=FALSE,
includeMean=TRUE,
withForecast=TRUE,
forecastLength=1 )
{
formula = as.formula( paste( sep="",
"xx ~ arma(", ll[1], ",", ll[2], ")" ) )
require(quantmod)
prepare.indicator = function(close, indicator, roc.n, normalize=FALSE, func=mean) {
rets = ROC(close, type="discrete", n=roc.n)
if(normalize) {
# Normalize the returns to daily
rets = ((1 + rets) ^ (1/roc.n)) - 1
}
@ivannp
ivannp / findBestArma.R
Created June 9, 2012 19:31
findBestArma
findBestArma = function(
xx,
minOrder=c(0,0),
maxOrder=c(5,5),
trace=FALSE )
{
bestAic = 1e9
len = NROW( xx )
for( p in minOrder[1]:maxOrder[1] ) for( q in minOrder[2]:maxOrder[2] )
{
@ivannp
ivannp / dvi.r
Created September 24, 2014 16:24
DVI Indicator Backtesting with SIT
require(quantmod)
require(SIT)
dvi.indicator = function(prices) {
dvi = TTR:::DVI(prices)[,3]
indicator.long = ifelse(dvi <= 0.5, 1, 0)
indicator.short = ifelse(dvi > 0.5, -1, 0)
indicator = reclass(cbind(indicator.short + indicator.long), prices)