Skip to content

Instantly share code, notes, and snippets.

View samchaaa's full-sized avatar
🥑
hi

Sam Chakerian samchaaa

🥑
hi
View GitHub Profile
from sklearn.qda import QDA
#from sklearn.ensemble import RandomForestRegressor
from sklearn import preprocessing
import numpy as np
import pandas as pd
def initialize(context):
context.assets = sid(8554) # Trade SPY
context.model = QDA()
context.lookback = 5 # Look back
@samchaaa
samchaaa / gist:91dfe2bb3c030321536f9799bb369b26
Created January 31, 2019 19:31
Alpaca Sample Algo - 5 Minute EMA Crossover
import alpaca_trade_api as tradeapi
import time
import datetime
from datetime import timedelta
from pytz import timezone
tz = timezone('EST')
api = tradeapi.REST('your key',
'your secret',
'https://paper-api.alpaca.markets')
import alpaca_trade_api as tradeapi
import time
import datetime
from datetime import timedelta
from pytz import timezone
tz = timezone('EST')
import numpy as np
import pandas as pd
import pandas as pd
oc = pd.DataFrame([line.strip('\n').split(',') for line in open('../../Downloads/quotedata.dat')])
oc.head()
oc.columns = oc.loc[2, :]
oc = oc.loc[3:]
oc['Calls K'] = oc.apply(lambda x: float(x['Calls'][-6:-2])/10, axis=1)
oc['Puts K'] = oc.apply(lambda x: float(x['Puts'][-6:-2])/10, axis=1)
def lookup(vin):
m = getManu(vin)
try:
y = int(getYear(vin))
except Exception as e:
y = e
# Exceptions here, or Sam may clean up in dict
# if m!= None:
# if 'General Motors' in m:
# print(m)
@samchaaa
samchaaa / list.md
Created December 9, 2020 06:48 — forked from ih2502mk/list.md
Quantopian Lectures Saved
@samchaaa
samchaaa / .py
Created December 20, 2020 08:27
def get_data(symbol, start, end):
results = pd.DataFrame()
while True:
if start < end:
# 15m bars
d = api.polygon.historic_agg_v2(symbol, 15, 'minute', _from=start, to=end, unadjusted=False, limit=None).df
time.sleep(.2)
start = d.index[-1].strftime('%Y-%m-%d')
results = pd.concat([results, d], axis=0)
else:
@samchaaa
samchaaa / .py
Created December 20, 2020 08:27
if data_path not in os.listdir():
os.mkdir(data_path)
# save as json
for ticker in tqdm(sp):
data = get_data(ticker, '2020-08-01', '2020-12-15')
with open('./{}/{}.json'.format(data_path, ticker), 'w') as j:
json.dump(data.to_json(), open('./{}/{}.json'.format(data_path, ticker), 'w'))
@samchaaa
samchaaa / .py
Created December 20, 2020 08:28
def hb_lb(ohlc, n, smoothing):
"""
Creates a "high band" and "low band", based on the absolute pct movement for a given period.
This will trigger the mean reversion trades.
'pct': percent change in the underlying, based on period n
'abs_vol': the absolute exponential moving average of the pct movement
"""
@samchaaa
samchaaa / .py
Created December 20, 2020 08:29
def get_signals(close_time):
"""
Creates signals for pybacktest.
Note pybacktest specifically needs series named "buy", "sell", "short", "cover" to work.
Check out tutorial notebook: https://nbviewer.jupyter.org/github/ematvey/pybacktest/blob/master/examples/tutorial.ipynb
"""
bs = ohlc['C'] > ohlc['hb'] # sell signal