コード例 #1
0
 def getOrCreateCompany(self, CIK, entityRegistrantName=None, session=None):
     company = CompanyDao().getCompany2(CIK, session)
     if (company is None):
         company = Company()
         company.CIK = CIK
         company.entityRegistrantName = entityRegistrantName
         company.listed = True
     elif entityRegistrantName is not None and entityRegistrantName != '':
         company.entityRegistrantName = entityRegistrantName
     Dao().addObject(objectToAdd=company, session=session, doCommit=True)
     return company
コード例 #2
0
 def solveCurrentExpression(self, CIK, ticker, session):
     rs = FileDataDao().getLastFileDataByCIK(CIK=CIK, session=session)
     row = rs.fetchone()
     tickerObject = CompanyDao().getTicker(ticker, session)
     fileData = FileDataDao().getFileData(row[0], session)
     expressionDict = self.getExpressionDict2(isCurrent=True,
                                              session=session)
     cfvDict = self.getValuesForExpression(fileDataOID=fileData.OID,
                                           isCurrent=True,
                                           session=session)
     priceValue = PricingInterface().getMarketPriceByAssetName(
         tickerObject.onlinePricingSymbol, PricingInterface.TRADIER)
     cfvDict['PRICE'] = {'value': priceValue, 'periodOID': None}
     #         print('PRICE', priceValue)
     return self.solveExpression(expressionDict, fileData, cfvDict)
コード例 #3
0
def updateDTCompanyData(values): 
    if(values is not None and len(values) > 0):
        rows = CompanyDao().getCompanyListByTicker(values)
        if (len(rows) != 0):
            df = DataFrame(rows)
            dtCompanyData = dt.DataTable(
                        id='dt-companyData',
                        columns=[
                            {"name": i, "id": i, "deletable": False} for i in df.columns
                        ],
                        data=df.to_dict("rows"),
                        sort_action="native",
                        sort_mode="multi",
                        style_as_list_view=True,
                )
            return dtCompanyData
コード例 #4
0
def executeCCRCReport(n_clicks):
    if (n_clicks > 0):
        rs2 = CompanyDao().getCompanyListForReport()
        df2 = DataFrame(rs2)
        dt2 = dt.DataTable(
            id='dt-companyReport',
            columns=[{
                "name": i,
                "id": i,
                "deletable": False
            } for i in df2.columns],
            data=df2.to_dict("rows"),
            filter_action="native",
            sort_action="native",
            sort_mode="multi",
            row_selectable="multi",
        )
        return dt2
コード例 #5
0
@author: afunes
'''

from dash.dependencies import Output, Input, State
from pandas.core.frame import DataFrame

from dao.companyDao import CompanyDao
from dao.entityFactDao import EntityFactDao
import dash_bootstrap_components as dbc
import dash_core_components as dcc
import dash_html_components as html
import dash_table as dt
from web.app import app

options = CompanyDao().getAllTicker()
options2 = []
for o in options:
    options2.append({"label": o[0], "value": o[0]})

layout = dbc.Container([
    dbc.Row([
        dbc.Col([
            html.Label("Company Tickers"),
            dcc.Dropdown(id="dd-companyTicker", multi=True)
        ],
                width=2),
        dbc.Col([
            html.Label("Company list"),
            dt.DataTable(data=[{}], id='dt-companyData3'),
            html.Div(id='dt-companyDataContainer3')
コード例 #6
0
if __name__ == "__main__":
    Initializer()
    notMarchingList = []
#     fileHandle = open('C:\\Users\\afunes\\iCloudDrive\\PortfolioViewer\\import\\ticker.txt', 'r')
    url = "https://www.sec.gov/include/ticker.txt"
    response = requests.get(url, timeout = 30) 
    fileText = response.text
    objectList = []
    for line in fileText.split('\n'):
        session = DBConnector(isNullPool=True).getNewSession()
        row = line.split('\t')
        ticker = row[0].upper()
        CIK = row[1].rstrip()
#         print(ticker, CIK)
        company = CompanyDao().getCompany2(CIK, session)
        if (company is None):
            print("Company not found CIK: " + CIK)
        elif (company is not None):
            tickerList = [x.ticker for x in company.tickerList]
            if (ticker not in tickerList):
                t = Ticker()
                t.ticker = ticker.upper()
                t.tickerOrigin = "www.sec.gov/include/ticker.txt" 
                t.active = True
                company.tickerList.append(t)
                print("Adding ticker " + ticker + " for company " + str(company.CIK))
                try:
                    Dao().addObject(objectToAdd = company, session = session, doFlush = True)
                    session.commit()
                except Exception as e: