Skip to content

Instantly share code, notes, and snippets.

View PatrickAlphaC's full-sized avatar
💭
Enabling web3 developers at scale

Patrick Collins PatrickAlphaC

💭
Enabling web3 developers at scale
View GitHub Profile
@PatrickAlphaC
PatrickAlphaC / tiingo_sample.py
Last active January 21, 2020 17:29
Simple Tiingo Startup
import requests
import json
token = 'XXX'
# Get a token from https://api.tiingo.com/
ticker = "TSLA"
url = "https://api.tiingo.com/tiingo/daily/{}/prices?token={}".format(ticker, token)
response = requests.get(url)
print(response.json())
@PatrickAlphaC
PatrickAlphaC / intrinio_sample.py
Last active January 21, 2020 17:29
Simple Intrinio Startup
import requests
import json
key = 'XXXX'
# Get a key from https://intrinio.com/
ticker = 'MSFT'
url = 'https://api-v2.intrinio.com/companies/{}?api_key={}'.format(ticker, key)
response = requests.get(url)
print(response.json())
@PatrickAlphaC
PatrickAlphaC / sample_xignite.py
Last active January 21, 2020 17:28
Simple Xignite Startup
import requests
import json
token = 'XXXXX'
# Get an Xignite token from https://www.xignite.com/Register
url = "http://globalcurrencies.xignite.com/xGlobalCurrencies.json/ListCurrencies?_token={}".format(token)
response = requests.get(url)
print(response.json())
@PatrickAlphaC
PatrickAlphaC / iex_cloud_sample.py
Last active March 14, 2020 06:27
Simple IEX Cloud Startup
import requests
import json
token = 'XXXX'
# Get a key from https://iexcloud.io/cloud-login#/register/
ticker = 'TSLA'
url = 'https://cloud.iexapis.com/stable/stock/{}/quote?token={}'.format(ticker, token)
response = requests.get(url)
print(response.json())
@PatrickAlphaC
PatrickAlphaC / tradier_sample.py
Created January 21, 2020 17:28
Simple Tradier Sandbox startup
import requests
import json
ticker = 'TSLA'
# Only US tickers in the developer account
token = 'XXXXX'
# Get a sandbox/developer token here: https://developer.tradier.com/
headers = {'Authorization': 'Bearer {}'.format(token),
'Accept': 'application/json'}
@PatrickAlphaC
PatrickAlphaC / nasdaq_tickers.py
Created February 11, 2020 17:27
Get a list of NASDAQ tickers
import requests
url = "http://ftp.nasdaqtrader.com/dynamic/SymDir/nasdaqlisted.txt"
response = requests.get(url)
tickers = [line.split("|")[0] for line in response.text.split("\n")][1:-2]
@PatrickAlphaC
PatrickAlphaC / get_list_of_tickers.py
Created February 11, 2020 17:34
uses multithreading to get a list of tickers
from alpha_vantage.timeseries import TimeSeries
from concurrent.futures import ThreadPoolExecutor
import os
KEY = os.path.expandvars("$ALPHAVANTAGE_API_KEY")
ts = TimeSeries(key=KEY, output_format='pandas')
def get_daily_adjusted_ignore_failure(ticker):
try:
return ts.get_daily_adjusted(symbol=ticker,outputsize='full')
@PatrickAlphaC
PatrickAlphaC / transform_sgd_data.py
Last active February 11, 2020 22:24
Transform data to be digestable by scikit-learn
TRADING_DAYS_IN_2019 = 252
TODAY_NUMERIC_VALUE = 0
from datetime import datetime
end = datetime.strptime('2019-02-07', '%Y-%m-%d')
shape = 40000
train_valid_tickers = 2392
test_valid_tickers = 800
def transform_data(test_or_train_set, valid_tickers):
y_set = []
@PatrickAlphaC
PatrickAlphaC / getDataNaive.sol
Last active May 12, 2020 20:28
The simplest way to make an API call in solidity
pragma solidity ^0.6.0;
import "github.com/smartcontractkit/chainlink/evm-contracts/src/v0.6/ChainlinkClient.sol";
contract GetData is ChainlinkClient {
uint256 public currentPrice;
address public owner;
// The address of an oracle
@PatrickAlphaC
PatrickAlphaC / chainlinkVRFDemo.sol
Last active July 15, 2020 17:41
Created using remix-ide: Realtime Ethereum Contract Compiler and Runtime. Load this file by pasting this gists URL or ID at https://remix.ethereum.org/#version=soljson-v0.6.2+commit.d19bba13.js&optimize=false&gist=7cae2cc64026ea69073ee76a32dd0268
pragma solidity 0.6.6;
import "https://raw.githubusercontent.com/smartcontractkit/chainlink/7a4e19a8ff07db1be0b397465d38d175bc0bb5b5/evm-contracts/src/v0.6/VRFConsumerBase.sol";
contract VRFTestnetD20 is VRFConsumerBase {
uint256[] public d20Results;
bytes32 internal keyHash;
uint256 internal fee;