def pullSource2Data(args): try: configuration = finnhub.Configuration(api_key={'token': finhub_key}) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) #collect data at regular intervals for ticker in tickers_set: #print(data[ticker].getTicker()) ret = finnhub_client.quote(ticker) now = datetime.now() dt_string = now.strftime("%Y-%m-%d-%H:%M") new_entry = dt_string + " " + str(ret.c) #print(type(ret) ) #print(new_entry) data[ticker].setSource2Data(new_entry) #print(data[ticker].getSource2Data()) #return 0 #return 2 except: print("problems with pullSource2Data") return 1
def _getFinnhubClient(self): with open('config/config.json') as config_file: api_key = json.load(config_file)["api_key"] configuration = finnhub.Configuration( api_key={'token': api_key}) finnhub_client = finnhub.DefaultApi( finnhub.ApiClient(configuration)) return finnhub_client
def __init__(self, root_dir, config, api_key, data_source): self._config = config self._api_key = api_key self.root_dir = root_dir self.data_source = data_source if self.data_source == 'finnhub': # Configure API key self.configuration = finnhub.Configuration( api_key={'token': self._api_key})
def getQuote(self): # Configure API key configuration = finnhub.Configuration( api_key={'token': keys.FINNHUB_KEY}) with finnhub.ApiClient(configuration) as api_client: # Create an instance of the API class api_instance = finnhub.DefaultApi(api_client) try: # Aggregate Indicators return api_instance.quote(self.stock.ticker_symbol) except ApiException as e: print( "Exception when calling DefaultApi->aggregate_indicator: %s\n" % e) return None
import random import discord import finnhub import locale import json import err from datetime import datetime from dotenv import load_dotenv from discord.ext import commands load_dotenv() TOKEN = os.getenv('DISCORD_TOKEN') FIN_TOKEN = os.getenv('FINNHUB_KEY') configuration = finnhub.Configuration(api_key={'token': FIN_TOKEN}) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) locale.setlocale(locale.LC_ALL, '') bot = commands.Bot(command_prefix='$') @bot.event async def on_ready(): print(f'{bot.user.name} has connected to Discord') @bot.command(name='roll_dice', help='Simulates rolling dice.') async def roll_dice(ctx, number_of_dice: int, number_of_sides: int):
import finnhub import websocket import json import math from notify_run import Notify # Configure API key configuration = finnhub.Configuration(api_key={ 'token': '<bs91427rh5re5dkf82bg>' # Replace this }) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) returnString = "" stockList = [] priceList = [] lastPriceList = [] currentTime = [] lastTime = [] stockName = None stockPrice = None notify = Notify() def on_message(ws, message): global stockList, priceList, lastPriceList, currentTime, lastTime, stockName, stockPrice, notify x = json.loads(message) y = x["data"] z = y[0] stockName = z["s"] stockPrice = z["p"] if stockName not in stockList: stockList.append(stockName)
import random import json import discord import sqlite3 import finnhub import ast from discord.ext import commands, tasks from dotenv import load_dotenv from discord.ext.commands import CommandNotFound load_dotenv() conn = sqlite3.connect("./db/userdata.db") conn.row_factory = lambda cursor, row: row[0] c = conn.cursor() configuration = finnhub.Configuration( api_key={'token': os.getenv('FINNHUB_TOKEN')}) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) bot = commands.Bot(command_prefix=".") TOKEN = os.getenv('DISCORD_TOKEN') bot.remove_command('help') # Sending greeting message on cmd @bot.event async def on_ready(): print(f'{bot.user} is online.') @bot.event async def on_guild_join(guild): #join message
import finnhub #https://github.com/Finnhub-Stock-API/finnhub-python # Configure API key configuration = finnhub.Configuration(api_key={ 'token': 'bpjqg37rh5re7t471mj0' # Replace this }) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) # Stock candles #print(finnhub_client.stock_candles('AAPL', 'D', 1594673621, 1594673621)) print(finnhub_client.stock_candles('AAPL', 'D', 1590988249, 1591852249)) # Aggregate Indicators #print(finnhub_client.aggregate_indicator('AAPL', 'D')) # Basic financials #print(finnhub_client.company_basic_financials('AAPL', 'margin')) # Earnings surprises #print(finnhub_client.company_earnings('TSLA', limit=5))
import time import finnhub # Configure API key configuration = finnhub.Configuration( api_key={ 'token': 'brv3prnrh5r9k3fgq72g' # Replace this } ) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) # Stock candles # print(finnhub_client.stock_candles('AAPL', 'D', 1590988249, 1591852249)) # Aggregate Indicators # print(finnhub_client.aggregate_indicator('AAPL', 'D')) # # Basic financials # print(finnhub_client.company_basic_financials('AAPL', 'margin')) # # Earnings surprises # print(finnhub_client.company_earnings('TSLA', limit=5)) # # EPS estimates # print(finnhub_client.company_eps_estimates('AMZN', freq='quarterly')) # # Company Executives # print(finnhub_client.company_executive('AAPL'))
from sqlalchemy_utils import EmailType, PasswordType from flask_login import UserMixin from flask_bcrypt import Bcrypt import finnhub from sqlalchemy.exc import IntegrityError from decimal import Decimal # set up finnhub API if os.environ.get('API_KEY') is None: from secrets import API_KEY else: API_KEY = os.environ.get('API_KEY') # Configure API key configuration = finnhub.Configuration(api_key={'token': API_KEY}) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) db = SQLAlchemy() bcrypt = Bcrypt() class User(db.Model, UserMixin): """User model""" __tablename__ = 'users' id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String,
import finnhub import datetime configuration = finnhub.Configuration( api_key={'token': 'bs3t7rfrh5r9iotip350'}) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) def get_candle_data(symbol): end_time = int(datetime.datetime.now().timestamp()) start_time = int( (datetime.datetime.now() - datetime.timedelta(days=364)).timestamp()) response = finnhub_client.stock_candles(symbol, 'D', start_time, end_time) length = len(response.t) candles = [None] * length for x in range(length): candles[x] = { 'open': response.o[x], 'close': response.c[x], 'high': response.h[x], 'low': response.l[x], 'volume': response.v[x], 'time': response.t[x] } return candles def get_recommendation_data(symbol): return finnhub_client.recommendation_trends(symbol)
import finnhub from lib.postgres_db import EPortalPGDB from private.keys import finn_hubb_key configuration = finnhub.Configuration( api_key={ 'token': finn_hubb_key.get('api') } ) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) pg_db = EPortalPGDB.Instance()
SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) ugroups.create(engine, checkfirst=True) users.create(engine, checkfirst=True) cash.create(engine, checkfirst=True) stocks.create(engine, checkfirst=True) # jwt_key and finnhub_token are passed in by env vars SECRET_KEY = os.environ.get('jwt_key') ALGORITHM = "HS256" ACCESS_TOKEN_EXPIRE_MINUTES = 30 configuration = finnhub.Configuration( api_key={'token': os.environ.get('finnhub_token')}) finnhub_client = finnhub.DefaultApi(finnhub.ApiClient(configuration)) models.Base.metadata.create_all(bind=engine) oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/token") app = FastAPI() app.add_middleware( CORSMiddleware, allow_origins=["*"], allow_credentials=True, allow_methods=["GET", "POST"], allow_headers=["*"], )