Пример #1
0
        public CompanyQuery(string ticker, bool qGoogle, bool qFinancialStatements, bool qYahoo, Tuple<DateTime, DateTime> DateRange = null,  KNMFin.Yahoo.Quotes.QuoteProperties[] qps = null)
        {
            if ( ticker == null || ticker == string.Empty ) return;

            if ( qGoogle ){
                GoogleQuery = new GoogleQuery( ticker, qFinancialStatements );
            }

            if ( qYahoo ){
                YahooQuery = new YahooCompanyQuery(ticker, DateRange, qps);
            }
        }
Пример #2
0
        public YahooCompanyQuery( string ticker, Tuple<DateTime, DateTime> DateRange, KNMFin.Yahoo.Quotes.QuoteProperties [] qps )
        {
            if ( ticker == null || ticker == string.Empty ) return;

            if ( DateRange != null )
            {
                DateTime beg = DateRange.Item1;
                DateTime end = DateRange.Item2;
                HistoricalPrices = KNMFin.Yahoo.HistoricalQuotes.Quote.QueryStockPriceInformation( ticker, beg, end, KNMFin.Yahoo.HistoricalQuotes.Frequency.Daily );
            }
            if ( qps != null && qps.Length > 0 )
            {
                CompanyQuotes = KNMFin.Yahoo.CompanyQuote.Quote.GetCompanyQuotes( new List<string> { ticker }, qps );
            ;            }
        }
Пример #3
0
        static IncomeStatement incomestatementDB(KNMFin.Google.IncomeStatement inc, StockPortfolioEntities7 spe)
        {
            var incDB = new IncomeStatement( );
            incDB.Accounting_Change = inc.Accounting_Change;
            incDB.Annual = inc.Period == Period.Annual ? true : false;
            incDB.Basic_EPS_after_Stock_Based_Comp_Expense = inc.Basic_EPS_after_Stock_Based_Comp_Expense;
            incDB.Basic_EPS_Excluding_Extraordinary_Items = inc.Basic_EPS_Excluding_Extraordinary_Items;
            incDB.Basic_EPS_Including_Extraordinary_Items = inc.Basic_EPS_Including_Extraordinary_Items;
            incDB.Basic_Normalized_EPS = inc.Basic_Normalized_EPS;
            incDB.Basic_Weighted_Average_Shares = inc.Basic_Weighted_Average_Shares;
            incDB.Cost_of_Revenue_Total = inc.Cost_of_Revenue_Total;
            incDB.Depreciation_and_Amortization = inc.Depreciation_and_Amortization;
            incDB.Depreciation_Supplemental = inc.Depreciation_Supplemental;
            incDB.Diluted_EPS_after_Stock_Based_Comp_Expense = inc.Diluted_EPS_after_Stock_Based_Comp_Expense;
            incDB.Diluted_EPS_Excluding_Extraordinary_Items = inc.Diluted_EPS_Excluding_Extraordinary_Items;
            incDB.Diluted_EPS_Including_Extraordinary_Items = inc.Diluted_EPS_Including_Extraordinary_Items;
            incDB.Diluted_Normalized_EPS = inc.Diluted_Normalized_EPS;
            incDB.Diluted_Weighted_Average_Shares = inc.Diluted_Weighted_Average_Shares;
            incDB.Dilution_Adjustment = inc.Dilution_Adjustment;
            incDB.Discontinued_Operations = inc.Discontinued_Operations;
            incDB.Dividends_per_Share__less__Common_Stock_Primary_Issue = inc.Dividends_per_Share__less__Common_Stock_Primary_Issue;
            incDB.Effect_of_Special_Items_on_Income_Taxes = inc.Effect_of_Special_Items_on_Income_Taxes;
            incDB.Equity_In_Affiliates = inc.Equity_In_Affiliates;
            incDB.Extraordinary_Item = inc.Extraordinary_Item;
            incDB.Gain___Loss___on_Sale_of_Assets = inc.Gain___Loss___on_Sale_of_Assets;
            incDB.Gross_Dividends__less__Common_Stock = inc.Gross_Dividends__less__Common_Stock;
            incDB.Gross_Profit = inc.Gross_Profit;
            incDB.Income_After_Tax = inc.Income_After_Tax;
            incDB.Income_Available_to_Common_Excl_Extra_Items = inc.Income_Available_to_Common_Excl_Extra_Items;
            incDB.Income_Available_to_Common_Incl_Extra_Items = inc.Income_Available_to_Common_Incl_Extra_Items;
            incDB.Income_Before_Tax = inc.Income_Before_Tax;
            incDB.Income_Taxes_Ex_Impact_of_Special_Items = inc.Income_Taxes_Ex_Impact_of_Special_Items;

            incDB.Interest_Income__Expense___Net_NonOperating = inc.Interest_Expense__Income___less_Net_Operating;
            incDB.Interest_Expense__Income___less_Net_Operating = inc.Interest_Income__Expense___Net_NonOperating;
            incDB.Minority_Interest = inc.Minority_Interest;
            incDB.Net_Income = inc.Net_Income;
            incDB.Net_Income_after_Stock_Based_Comp_Expense = inc.Net_Income_after_Stock_Based_Comp_Expense;
            incDB.Net_Income_Before_Extra_Items = inc.Net_Income_Before_Extra_Items;
            incDB.Normalized_Income_After_Taxes = inc.Normalized_Income_After_Taxes;
            incDB.Normalized_Income_Avail_to_Common = inc.Normalized_Income_Avail_to_Common;
            incDB.Normalized_Income_Before_Taxes = inc.Normalized_Income_Before_Taxes;
            incDB.Operating_Income = inc.Operating_Income;
            incDB.Other_Net = inc.Other_Net;
            incDB.Other_Operating_Expenses_Total = inc.Other_Operating_Expenses_Total;
            incDB.Other_Revenue_Total = inc.Other_Revenue_Total;
            incDB.PeriodEnd = inc.PeriodEnd;
            incDB.Preferred_Dividends = inc.Preferred_Dividends;
            incDB.Research_and_Development = inc.Research_and_Development;
            incDB.Revenue = inc.Revenue;
            incDB.Selling_and_General_and_Admin_Expenses_Total = inc.Selling_and_General_and_Admin_Expenses_Total;
            incDB.Total_Operating_Expense = inc.Total_Operating_Expense;
            incDB.Total_Revenue = inc.Total_Revenue;
            incDB.Total_Special_Items = inc.Total_Special_Items;
            incDB.Unusual_Expense___Income__ = inc.Unusual_Expense___Income__;

            int id = spe.IncomeStatements.Count() + 1;
            incDB.ID = id;
            return incDB;
        }
Пример #4
0
 static BalanceSheet balancesheetDB( KNMFin.Google.BalanceSheet bs )
 {
     var bsDB = new BalanceSheet();
     bsDB.Accounts_Payable = bs.Accounts_Payable;
     bsDB.Accounts_Receivable__Trade__Net = bs.Accounts_Receivable__Trade__Net;
     bsDB.Accrued_Expenses = bs.Accrued_Expenses;
     bsDB.Accumulated_Depreciation__Total = bs.Accumulated_Depreciation__Total;
     bsDB.Additional_PaidIn_Capital = bs.Additional_PaidIn_Capital;
     bsDB.Annual = bs.Period == Period.Annual ? true : false;
     bsDB.Capital_Lease_Obligations = bs.Capital_Lease_Obligations;
     bsDB.Cash_and_Equivalents = bs.Cash_and_Equivalents;
     bsDB.Cash_and_Short_Term_Investments = bs.Cash_and_Short_Term_Investments;
     bsDB.Common_Stock__Total = bs.Common_Stock__Total;
     bsDB.Current_Port_of_LT_Debt_and_Capital_Leases = bs.Current_Port_of_LT_Debt_and_Capital_Leases;
     bsDB.Deferred_Income_Tax = bs.Deferred_Income_Tax;
     bsDB.Goodwill__Net = bs.Goodwill__Net;
     bsDB.Intangibles__Net = bs.Intangibles__Net;
     bsDB.Long_Term_Debt = bs.Long_Term_Debt;
     bsDB.Long_Term_Investments = bs.Long_Term_Investments;
     bsDB.Minority_Interest = bs.Minority_Interest;
     bsDB.Notes_Payable_and_Short_Term_Debt = bs.Notes_Payable_and_Short_Term_Debt;
     bsDB.Other_Current_Assets__Total = bs.Other_Current_Assets__Total;
     bsDB.Other_Current_liabilities__Total = bs.Other_Current_liabilities__Total;
     bsDB.Other_Equity__Total = bs.Other_Equity__Total;
     bsDB.Other_Liabilities__Total = bs .Other_Liabilities__Total;
     bsDB.Other_Long_Term_Assets__Total = bs.Other_Long_Term_Assets__Total;
     bsDB.Receivables__Other = bs.Receivables__Other;
     bsDB.Redeemable_Preferred_Stock__Total = bs.Redeemable_Preferred_Stock__Total;
     bsDB.Retained_Earnings__Accumulated_Deficit_ = bs.Redeemable_Preferred_Stock__Total;
     bsDB.Shares_Outs__Common_Stock_Primary_Issue = bs.Shares_Outs__Common_Stock_Primary_Issue;
     bsDB.Short_Term_Investments = bs.Short_Term_Investments;
     bsDB.Total_Assets = bs.Total_Assets;
     bsDB.Total_Common_Shares_Outstanding = bs.Total_Common_Shares_Outstanding;
     bsDB.Total_Current_Assets = bs.Total_Current_Assets;
     bsDB.Total_Current_Liabilities = bs.Total_Current_Liabilities;
     bsDB.Total_Debt = bs.Total_Debt;
     bsDB.Total_Equity = bs.Total_Equity;
     bsDB.Total_Inventory = bs.Total_Inventory;
     bsDB.Total_Liabilities = bs.Total_Liabilities;
     bsDB.Total_Liabilities_and_Shareholders_Equity = bs.Total_Liabilities_and_Shareholders_Equity;
     bsDB.Total_Long_Term_Debt = bs.Total_Long_Term_Debt;
     bsDB.Total_Receivables__Net = bs.Total_Receivables__Net;
     bsDB.Treasury_Stock__Common = bs.Treasury_Stock__Common;
     bsDB.Prepaid_Expenses = bs.Prepaid_Expenses;
     bsDB.Preferred_Stock__Non_Redeemable__Net = bs.Preferred_Stock__Non_Redeemable__Net;
     bsDB.Property_and_Plant_and_Equipment__Total__Gross = bs.Property_and_Plant_and_Equipment__Total__Gross;
     bsDB.PeriodEnd = bs.PeriodEnd;
     return bsDB;
 }
Пример #5
0
 static StatementOfCashFlow cashflowDB( KNMFin.Google.CashFlowStatement cfs )
 {
     var cfsDB = new StatementOfCashFlow( );
     cfsDB.Amortization = cfs.Amortization;
     cfsDB.Annual = cfs.Period == Period.Annual ? true : false;
     cfsDB.Capital_Expenditures = cfs.Capital_Expenditures;
     cfsDB.Cash_from_Financing_Activities = cfs.Cash_from_Financing_Activities;
     cfsDB.Cash_from_Investing_Activities = cfs.Cash_from_Investing_Activities;
     cfsDB.Cash_from_Operating_Activities = cfs.Cash_from_Operating_Activities;
     cfsDB.Cash_Interest_Paid__Supplemental = cfs.Cash_Interest_Paid__Supplemental;
     cfsDB.Cash_Taxes_Paid__Supplemental = cfs.Cash_Taxes_Paid__Supplemental;
     cfsDB.Changes_in_Working_Capital = cfs.Changes_in_Working_Capital;
     cfsDB.Deferred_Taxes = cfs.Deferred_Taxes;
     cfsDB.Depreciation_and_Depletion = cfs.Depreciation_and_Depletion;
     cfsDB.Financing_Cash_Flow_Items = cfs.Financing_Cash_Flow_Items;
     cfsDB.Foreign_Exchange_Effects = cfs.Foreign_Exchange_Effects;
     cfsDB.Issuance__Retirement__of_Debt__Net = cfs.Issuance__Retirement__of_Debt__Net;
     cfsDB.Issuance__Retirement__of_Stock__Net = cfs.Issuance__Retirement__of_Stock__Net;
     cfsDB.Net_Change_in_Cash = cfs.Net_Change_in_Cash;
     cfsDB.Net_Income_and_Starting_Line = cfs.Net_Income_and_Starting_Line;
     cfsDB.NonCash_Items = cfs.NonCash_Items;
     cfsDB.Other_Investing_Cash_Flow_Items__Total = cfs.Other_Investing_Cash_Flow_Items__Total;
     cfsDB.PeriodEnd = cfs.PeriodEnd;
     cfsDB.Total_Cash_Dividends_Paid = cfs.Total_Cash_Dividends_Paid;
     return cfsDB;
 }
Пример #6
0
 private void PopulateIncomeStatement( KNMFin.Google.IncomeStatement iSt )
 {
     bsAssets.Children.Clear( );
         bsLiabilities.Children.Clear( );
         bsEquity.Children.Clear( );
         bsAssets.Children.Add( gUI.ISIBT( iSt ) );
         bsLiabilities.Children.Add( gUI.ISDilutedEPS( iSt ) );
         bsEquity.Children.Add( gUI.ISDilutedNormalizedEPS( iSt ) );
 }
Пример #7
0
        private void PopulateFormWithCurrentCompanyInfo( KNMFin.Google.CompanyInfo c )
        {
            if ( c != null && c.Ticker != null && c.Ticker != string.Empty )
            {

                    summaryCanvas.Children.Clear( );
                    summaryCanvas.Children.Add( gUI.CompanyInfoCanvas( c ) );
                    if ( !lbNameCompany.Items.Contains( c.Name ) )
                    {
                        lbNameCompany.Items.Add( c.Name );
                        lbTickerCompany.Items.Add( c.Ticker );
                    }

                    ResetForm( );
                    foreach ( var i in c.BalanceSheets )
                    {
                        if ( i.Period == KNMFin.Google.Period.Annual )
                            lbABS.Items.Add( i.PeriodEnd.ToShortDateString( ) );
                        else
                            lbQBS.Items.Add( i.PeriodEnd.ToShortDateString( ) );
                    }
                    foreach ( var i in c.IncomeStatements )
                    {
                        if ( i.Period == KNMFin.Google.Period.Annual )
                            lbAIS.Items.Add( i.PeriodEnd.ToShortDateString( ) );
                        else
                            lbQIS.Items.Add( i.PeriodEnd.ToShortDateString( ) );
                    }
                    foreach ( var i in c.CashFlowStatements )
                    {
                        if ( i.Period == KNMFin.Google.Period.Annual )
                            lbASoCF.Items.Add( i.PeriodEnd.ToShortDateString( ) );
                        else
                            lbQSoCF.Items.Add( i.PeriodEnd.ToShortDateString( ) );
                    }
                    lbTickerCompany.SelectedItem = c.Ticker;

            }
        }
Пример #8
0
 private void PopulateCashflowStatement( KNMFin.Google.CashFlowStatement cs )
 {
     bsAssets.Children.Clear( );
         bsLiabilities.Children.Clear( );
         bsEquity.Children.Clear( );
         bsAssets.Children.Add( gUI.SoCF( cs ) );
 }
Пример #9
0
 private void PopulateBalanceSheet( KNMFin.Google.BalanceSheet bs )
 {
     bsAssets.Children.Clear( );
         bsLiabilities.Children.Clear( );
         bsEquity.Children.Clear( );
         bsAssets.Children.Add( gUI.BSAsset( bs ) );
         bsLiabilities.Children.Add( gUI.BSLiabilities( bs ) );
         bsEquity.Children.Add( gUI.BSEquities( bs ) );
 }
Пример #10
0
        public static Grid IndividualHistoricalPriceResult( System.Windows.Window window, KNMFin.Yahoo.HistoricalQuotes.StockPriceResult spr )
        {
            var rArr = spr.StockPriceInformation.StockPriceInformation.ToArray<KNMFin.Yahoo.HistoricalQuotes.StockPriceRow>( );
            Array.Reverse( rArr );

            var resources = window.Resources [ "ItemCollectionViewSource" ];
            itemCollectionViewSource = null;
            itemCollectionViewSource = (CollectionViewSource)( window.FindResource( "ItemCollectionViewSource" ) );
            itemCollectionViewSource.Source = spr.StockPriceInformation.StockPriceInformation;

            DataGrid dg = new DataGrid( );
            dg.DataContext = window.Resources [ "ItemCollectionViewSource" ];
            dg.ItemsSource = (IEnumerable<KNMFin.Yahoo.HistoricalQuotes.StockPriceRow>)itemCollectionViewSource.Source;
            dg.AutoGenerateColumns = true;
            dg.CanUserAddRows = false;

            Grid grid = new Grid( );
            grid.RowDefinitions.Add( new RowDefinition( ) );
            grid.RowDefinitions.Add( new RowDefinition( ) );
            grid.RowDefinitions [ 0 ].Height = new System.Windows.GridLength( 200 );

            Canvas c = new Canvas( );
            c.Background = System.Windows.Media.Brushes.Coral;
            grid.Children.Add( c );

            dg.FontSize = 10;

            Grid.SetRow( c, 0 );

            Grid subGrid = new Grid( );
            subGrid.Background = System.Windows.Media.Brushes.Green;
            subGrid.ColumnDefinitions.Add( new ColumnDefinition( ) );
            subGrid.ColumnDefinitions.Add( new ColumnDefinition( ) );
            subGrid.ColumnDefinitions.Add( new ColumnDefinition( ) );

            subGrid.ColumnDefinitions [ 0 ].Width = new System.Windows.GridLength( 350 );
            subGrid.ColumnDefinitions [ 2 ].Width = new System.Windows.GridLength( 350 );
            subGrid.Children.Add( dg );
            Grid.SetColumn( dg, 0 );
            grid.Children.Add( subGrid );
            Grid.SetRow( subGrid, 1 );

            List<Tuple<string, double, double>> LogReturns = new List<Tuple<string, double, double>>( );
            for ( int i = 1; i < rArr.Length; i++ )
            {
                double adjCReturn = Math.Log( Convert.ToDouble( rArr [ i ].AdjClose / rArr [ i - 1 ].AdjClose ) );
                double cReturn = Math.Log( Convert.ToDouble( rArr [ i ].Close / rArr [ i - 1 ].Close ) );
                LogReturns.Add( new Tuple<string, double, double>( rArr [ i ].Date, adjCReturn, cReturn ) );
            }

            DataTable dt = new DataTable( );
            dt.Columns.Add( new DataColumn( "Date", typeof( string ) ) );
            dt.Columns.Add( new DataColumn( "Adj. Return", typeof( double ) ) );
            dt.Columns.Add( new DataColumn( "unAdj. Return", typeof( double ) ) );

            DataRow dr;

            for ( int i = 0; i < LogReturns.Count; i++ ){

                dr = dt.NewRow( );
                dr [ 0 ] = LogReturns [ i ].Item1;
                dr [ 1 ] = LogReturns [ i ].Item2;
                dr [ 2 ] = LogReturns [ i ].Item3;
                dt.Rows.Add( dr );
            }

            DataGrid dg2 = new DataGrid( );
            dg2.DataContext = dt;
            subGrid.Children.Add( dg2 );
            Grid.SetColumn( dg2, 2 );

            // ./subGrid.Children.Add( dg2 );
            // Grid.SetColumn( dg2, 2 );

            return grid;
        }