Exemplo n.º 1
0
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
Exemplo n.º 2
0
 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
Exemplo n.º 3
0
    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})
Exemplo n.º 4
0
    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
Exemplo n.º 5
0
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):
Exemplo n.º 6
0
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)
Exemplo n.º 7
0
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
Exemplo n.º 8
0
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))
Exemplo n.º 9
0
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'))
Exemplo n.º 10
0
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,
Exemplo n.º 11
0
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)
Exemplo n.º 12
0
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()
Exemplo n.º 13
0
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=["*"],
)