Skip to content

Instantly share code, notes, and snippets.

View jweinst1's full-sized avatar
🎯
Focusing

Josh Weinstein jweinst1

🎯
Focusing
View GitHub Profile
@jweinst1
jweinst1 / bull_put_search.py
Last active August 27, 2026 08:12
a alpaca based cli script to search bull put spreads
import argparse
import json
import os
from datetime import datetime, timedelta
from alpaca.data.historical.option import OptionHistoricalDataClient
from alpaca.data.historical.stock import StockHistoricalDataClient
from alpaca.data.requests import (
OptionChainRequest,
StockLatestTradeRequest
)
@jweinst1
jweinst1 / scholes_back_test.py
Created August 16, 2026 06:28
back testing script for bull put spreads
import math
from datetime import datetime, timedelta
import numpy as np
import pandas as pd
import yfinance as yf
# --- 1. Black-Scholes Pricing Engine ---
def norm_cdf(x: float) -> float:
"""Standard normal cumulative distribution function using math.erf."""
@jweinst1
jweinst1 / credit_spreads.py
Last active August 27, 2026 00:10
bull put spreads script for alpaca py
from alpaca.data.historical import StockHistoricalDataClient
from alpaca.data.requests import StockSnapshotRequest
from alpaca.data.enums import DataFeed
from alpaca.data.historical import OptionHistoricalDataClient
from alpaca.data.requests import OptionChainRequest, StockBarsRequest, OptionBarsRequest, OptionSnapshotRequest, OptionLatestQuoteRequest
from alpaca.data.enums import OptionsFeed
from alpaca.trading.enums import ContractType, AssetClass
from alpaca.trading.enums import QueryOrderStatus, OrderSide, OrderClass, TimeInForce, OrderStatus, OrderType, PositionIntent
from alpaca.trading.client import TradingClient
from alpaca.trading.requests import GetOrdersRequest, LimitOrderRequest, TakeProfitRequest, StopLimitOrderRequest, GetOptionContractsRequest, OptionLegRequest, ReplaceOrderRequest
@jweinst1
jweinst1 / spread_research.py
Last active August 9, 2026 08:18
bull put spread research script
from alpaca.data.historical import StockHistoricalDataClient
from alpaca.data.requests import StockSnapshotRequest
from alpaca.data.enums import DataFeed
from alpaca.data.historical import OptionHistoricalDataClient
from alpaca.data.requests import OptionChainRequest, StockBarsRequest, OptionBarsRequest, OptionSnapshotRequest
from alpaca.data.enums import OptionsFeed
from alpaca.trading.enums import ContractType, AssetClass
from alpaca.trading.enums import QueryOrderStatus, OrderSide, OrderClass, TimeInForce, OrderStatus, OrderType, PositionIntent
from alpaca.trading.client import TradingClient
from alpaca.trading.requests import GetOrdersRequest, LimitOrderRequest, TakeProfitRequest, StopLimitOrderRequest, GetOptionContractsRequest, OptionLegRequest
@jweinst1
jweinst1 / inttoarrayfast.cpp
Last active July 29, 2026 06:29
murmur3 hash to larger array map
#include <iostream>
#include <vector>
#include <unordered_map>
#include <random>
#include <chrono>
#include <cstdint>
#include <limits>
#include <cstring>
#include <cstdlib>
#include <cstdio>
@jweinst1
jweinst1 / chunk_analyzer.py
Created July 26, 2026 07:42
analyzes log files in unique chunks for indexing
import sys
from collections import Counter
from pathlib import Path
def analyze_chunk_distribution(
file_path: str, top_n: int = 15, sample_bytes: int = 50 * 1024 * 1024
):
path = Path(file_path)
if not path.is_file():
@jweinst1
jweinst1 / glass_shatter.cpp
Created July 25, 2026 00:30
glass shattering game in C++
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
#include <iostream>
#include <cmath>
#include <vector>
#include <random>
// Linearly interpolate between two points
inline SDL_FPoint lerp(const SDL_FPoint& a, const SDL_FPoint& b, float t) {
return SDL_FPoint{
@jweinst1
jweinst1 / tilt_sphere.cpp
Created July 21, 2026 08:42
3d sphere with Z coordinate transorms in sdl3
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
#include <cmath>
// Calculates the X and Y screen coordinates for a circle centered anywhere
void get_arbitrary_circle_point_trig(
float centerX, float centerY,
float radius, float angle_radians,
float* out_x, float* out_y
) {
@jweinst1
jweinst1 / sphere_vertex.cpp
Last active July 21, 2026 08:06
sphere made via vertex in C++
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
#include <cmath>
#include <vector>
// Calculates the X and Y screen coordinates for a circle centered anywhere
void get_arbitrary_circle_point_trig(
float centerX, float centerY,
@jweinst1
jweinst1 / rotate_with_indices.cpp
Created July 19, 2026 08:59
rotate 3 way pyramid with indices in C++
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
#include <cmath>
struct Vec3 {
float x, y, z;
};
typedef struct {
Vec3 position;