eodhdapi

package module
v0.5.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 10, 2019 License: MIT Imports: 19 Imported by: 0

README

eodhdapi

eod hd golang api

Documentation

Index

Constants

View Source
const DefaultURL = "https://eodhistoricaldata.com/api"

Variables

This section is empty.

Functions

This section is empty.

Types

type Allocation added in v0.5.0

type Allocation struct {
	Category         string   `json:"Category"`
	LongPercent      *Decimal `json:"Long_%"`
	ShortPercent     *Decimal `json:"Short_%"`
	NetAssetsPercent *Decimal `json:"Net_Assets_%"`
}

func (Allocation) MarshalEasyJSON added in v0.5.0

func (v Allocation) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Allocation) MarshalJSON added in v0.5.0

func (v Allocation) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Allocation) UnmarshalEasyJSON added in v0.5.0

func (v *Allocation) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Allocation) UnmarshalJSON added in v0.5.0

func (v *Allocation) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type AssetAllocation added in v0.5.0

type AssetAllocation struct {
	Type            string   `json:"Type"`
	Net             *Decimal `json:"Net_%"`
	Long            *Decimal `json:"Long_%"`
	Short           *Decimal `json:"Short_%"`
	CategoryAverage *Decimal `json:"Category_Average"`
	Benchmark       *Decimal `json:"Benchmark"`
}

func (AssetAllocation) MarshalEasyJSON added in v0.5.0

func (v AssetAllocation) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (AssetAllocation) MarshalJSON added in v0.5.0

func (v AssetAllocation) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*AssetAllocation) UnmarshalEasyJSON added in v0.5.0

func (v *AssetAllocation) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*AssetAllocation) UnmarshalJSON added in v0.5.0

func (v *AssetAllocation) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type AssetAllocations added in v0.5.0

type AssetAllocations []AssetAllocation

func (*AssetAllocations) UnmarshalEasyJSON added in v0.5.0

func (out *AssetAllocations) UnmarshalEasyJSON(in *jlexer.Lexer)

type BalanceSheet added in v0.3.0

type BalanceSheet struct {
	CurrencySymbol string            `json:"currency_symbol"`
	Quarterly      BalanceSheetInfos `json:"quarterly"`
	Yearly         BalanceSheetInfos `json:"yearly"`
}

func (BalanceSheet) MarshalEasyJSON added in v0.5.0

func (v BalanceSheet) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BalanceSheet) MarshalJSON added in v0.5.0

func (v BalanceSheet) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BalanceSheet) UnmarshalEasyJSON added in v0.5.0

func (v *BalanceSheet) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BalanceSheet) UnmarshalJSON added in v0.5.0

func (v *BalanceSheet) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BalanceSheetInfo added in v0.3.0

type BalanceSheetInfo struct {
	Date       string  `json:"date"`
	FilingDate *string `json:"filing_date"`

	IntangibleAssets                                 *Decimal `json:"intangibleAssets"`
	TotalLiab                                        *Decimal `json:"totalLiab"`
	TotalStockholderEquity                           *Decimal `json:"totalStockholderEquity"`
	DeferredLongTermLiab                             *Decimal `json:"deferredLongTermLiab"`
	OtherCurrentLiab                                 *Decimal `json:"otherCurrentLiab"`
	TotalAssets                                      *Decimal `json:"totalAssets"`
	CommonStock                                      *Decimal `json:"commonStock"`
	OtherCurrentAssets                               *Decimal `json:"otherCurrentAssets"`
	RetainedEarnings                                 *Decimal `json:"retainedEarnings"`
	OtherLiab                                        *Decimal `json:"otherLiab"`
	GoodWill                                         *Decimal `json:"goodWill"`
	OtherAssets                                      *Decimal `json:"otherAssets"`
	Cash                                             *Decimal `json:"cash"`
	TotalCurrentLiabilities                          *Decimal `json:"totalCurrentLiabilities"`
	ShortLongTermDebt                                *Decimal `json:"shortLongTermDebt"`
	OtherStockholderEquity                           *Decimal `json:"otherStockholderEquity"`
	PropertyPlantEquipment                           *Decimal `json:"propertyPlantEquipment"`
	TotalCurrentAssets                               *Decimal `json:"totalCurrentAssets"`
	LongTermInvestments                              *Decimal `json:"longTermInvestments"`
	NetTangibleAssets                                *Decimal `json:"netTangibleAssets"`
	ShortTermInvestments                             *Decimal `json:"shortTermInvestments"`
	NetReceivables                                   *Decimal `json:"netReceivables"`
	LongTermDebt                                     *Decimal `json:"longTermDebt"`
	Inventory                                        *Decimal `json:"inventory"`
	AccountsPayable                                  *Decimal `json:"accountsPayable"`
	TotalPermanentEquity                             *Decimal `json:"totalPermanentEquity"`
	NoncontrollingInterestInConsolidatedEntity       *Decimal `json:"noncontrollingInterestInConsolidatedEntity"`
	TemporaryEquityRedeemableNoncontrollingInterests *Decimal `json:"temporaryEquityRedeemableNoncontrollingInterests"`
	AccumulatedOtherComprehensiveIncome              *Decimal `json:"accumulatedOtherComprehensiveIncome"`
	AdditionalPaidInCapital                          *Decimal `json:"additionalPaidInCapital"`
	CommonStockTotalEquity                           *Decimal `json:"commonStockTotalEquity"`
	PreferredStockTotalEquity                        *Decimal `json:"preferredStockTotalEquity"`
	RetainedEarningsTotalEquity                      *Decimal `json:"retainedEarningsTotalEquity"`
	TreasuryStock                                    *Decimal `json:"treasuryStock"`
	AccumulatedAmortization                          *Decimal `json:"accumulatedAmortization"`
	NonCurrrentAssetsOther                           *Decimal `json:"nonCurrrentAssetsOther"`
	DeferredLongTermAssetCharges                     *Decimal `json:"deferredLongTermAssetCharges"`
	NonCurrentAssetsTotal                            *Decimal `json:"nonCurrentAssetsTotal"`
	ShortTermDebt                                    *Decimal `json:"shortTermDebt"`
	CapitalLeaseObligations                          *Decimal `json:"capitalLeaseObligations"`
	LongTermDebtTotal                                *Decimal `json:"longTermDebtTotal"`
	NonCurrentLiabilitiesOther                       *Decimal `json:"nonCurrentLiabilitiesOther"`
	NonCurrentLiabilitiesTotal                       *Decimal `json:"nonCurrentLiabilitiesTotal"`
	NegativeGoodwill                                 *Decimal `json:"negativeGoodwill"`
	Warrants                                         *Decimal `json:"warrants"`
	PreferredStockRedeemable                         *Decimal `json:"preferredStockRedeemable"`
	CapitalSurpluse                                  *Decimal `json:"capitalSurpluse"`
	LiabilitiesAndStockholdersEquity                 *Decimal `json:"liabilitiesAndStockholdersEquity"`
	CashAndShortTermInvestments                      *Decimal `json:"cashAndShortTermInvestments"`
	PropertyPlantAndEquipmentGross                   *Decimal `json:"propertyPlantAndEquipmentGross"`
	AccumulatedDepreciation                          *Decimal `json:"accumulatedDepreciation"`
	CommonStockSharesOutstanding                     *Decimal `json:"commonStockSharesOutstanding"`
}

func (BalanceSheetInfo) MarshalEasyJSON added in v0.5.0

func (v BalanceSheetInfo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (BalanceSheetInfo) MarshalJSON added in v0.5.0

func (v BalanceSheetInfo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*BalanceSheetInfo) UnmarshalEasyJSON added in v0.5.0

func (v *BalanceSheetInfo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BalanceSheetInfo) UnmarshalJSON added in v0.5.0

func (v *BalanceSheetInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type BalanceSheetInfos added in v0.5.0

type BalanceSheetInfos []BalanceSheetInfo

func (*BalanceSheetInfos) UnmarshalEasyJSON added in v0.5.0

func (out *BalanceSheetInfos) UnmarshalEasyJSON(in *jlexer.Lexer)

type CashFlow added in v0.3.0

type CashFlow struct {
	CurrencySymbol string        `json:"currency_symbol"`
	Quarterly      CashFlowInfos `json:"quarterly"`
	Yearly         CashFlowInfos `json:"yearly"`
}

func (CashFlow) MarshalEasyJSON added in v0.5.0

func (v CashFlow) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (CashFlow) MarshalJSON added in v0.5.0

func (v CashFlow) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*CashFlow) UnmarshalEasyJSON added in v0.5.0

func (v *CashFlow) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CashFlow) UnmarshalJSON added in v0.5.0

func (v *CashFlow) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type CashFlowInfo added in v0.3.0

type CashFlowInfo struct {
	Date                                  string   `json:"date"`
	FilingDate                            *string  `json:"filing_date"`
	Investments                           *Decimal `json:"investments"`
	ChangeToLiabilities                   *Decimal `json:"changeToLiabilities"`
	TotalCashflowsFromInvestingActivities *Decimal `json:"totalCashflowsFromInvestingActivities"`
	NetBorrowings                         *Decimal `json:"netBorrowings"`
	TotalCashFromFinancingActivities      *Decimal `json:"totalCashFromFinancingActivities"`
	ChangeToOperatingActivities           *Decimal `json:"changeToOperatingActivities"`
	NetIncome                             *Decimal `json:"netIncome"`
	ChangeInCash                          *Decimal `json:"changeInCash"`
	TotalCashFromOperatingActivities      *Decimal `json:"totalCashFromOperatingActivities"`
	Depreciation                          *Decimal `json:"depreciation"`
	OtherCashflowsFromInvestingActivities *Decimal `json:"otherCashflowsFromInvestingActivities"`
	DividendsPaid                         *Decimal `json:"dividendsPaid"`
	ChangeToInventory                     *Decimal `json:"changeToInventory"`
	ChangeToAccountReceivables            *Decimal `json:"changeToAccountReceivables"`
	SalePurchaseOfStock                   *Decimal `json:"salePurchaseOfStock"`
	OtherCashflowsFromFinancingActivities *Decimal `json:"otherCashflowsFromFinancingActivities"`
	ChangeToNetincome                     *Decimal `json:"changeToNetincome"`
	CapitalExpenditures                   *Decimal `json:"capitalExpenditures"`
	ChangeReceivables                     *Decimal `json:"changeReceivables"`
	CashFlowsOtherOperating               *Decimal `json:"cashFlowsOtherOperating"`
	ExchangeRateChanges                   *Decimal `json:"exchangeRateChanges"`
	CashAndCashEquivalentsChanges         *Decimal `json:"cashAndCashEquivalentsChanges"`
}

func (CashFlowInfo) MarshalEasyJSON added in v0.5.0

func (v CashFlowInfo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (CashFlowInfo) MarshalJSON added in v0.5.0

func (v CashFlowInfo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*CashFlowInfo) UnmarshalEasyJSON added in v0.5.0

func (v *CashFlowInfo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CashFlowInfo) UnmarshalJSON added in v0.5.0

func (v *CashFlowInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type CashFlowInfos added in v0.5.0

type CashFlowInfos []CashFlowInfo

func (*CashFlowInfos) UnmarshalEasyJSON added in v0.5.0

func (out *CashFlowInfos) UnmarshalEasyJSON(in *jlexer.Lexer)

type Component added in v0.5.0

type Component struct {
	Code     string `json:"Code"`
	Exchange string `json:"Exchange"`
	Name     string `json:"Name"`
	Sector   string `json:"Sector"`
	Industry string `json:"Industry"`
}

func (Component) MarshalEasyJSON added in v0.5.0

func (v Component) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Component) MarshalJSON added in v0.5.0

func (v Component) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Component) UnmarshalEasyJSON added in v0.5.0

func (v *Component) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Component) UnmarshalJSON added in v0.5.0

func (v *Component) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Components added in v0.5.0

type Components []Component

func (*Components) UnmarshalEasyJSON added in v0.5.0

func (out *Components) UnmarshalEasyJSON(in *jlexer.Lexer)

type Decimal added in v0.5.0

type Decimal decimal.Decimal

func (*Decimal) D added in v0.5.0

func (dec *Decimal) D() *decimal.Decimal

D gets the casted decimal.Decimal

func (Decimal) MarshalEasyJSON added in v0.5.0

func (dec Decimal) MarshalEasyJSON(w *jwriter.Writer)

func (*Decimal) UnmarshalEasyJSON added in v0.5.0

func (dec *Decimal) UnmarshalEasyJSON(in *jlexer.Lexer)

type EODDividend added in v0.5.0

type EODDividend struct {
	Code     string          `json:"code,omitempty" bson:"code"`
	Ex       string          `json:"exchange_short_name,omitempty" bson:"exchange_short_name"`
	Ticker   string          `json:"tickers,omitempty" bson:"ticker"`
	Date     string          `json:"date,omitempty" bson:"date"`
	Dividend decimal.Decimal `json:"dividend,omitempty" bson:"dividend"`
}

type EODMapping

type EODMapping struct {
	Code     string `json:"code" bson:"code"`
	Exchange string `json:"exchange" bson:"exchange"`
	Country  string `json:"country" bson:"country"`
	Isin     string `json:"isin" bson:"isin"`
	Name     string `json:"name" bson:"name"`

	Ticker string `json:"ticker" bson:"ticker"`
}

The EODMapping does map a ticker to an isin

type EODPrice added in v0.5.0

type EODPrice struct {
	Code          string `json:"code,omitempty" bson:"code"`
	Ex            string `json:"exchange_short_name,omitempty" bson:"exchange_short_name"`
	Name          string
	Date          string          `json:"date,omitempty" bson:"date"`
	Open          decimal.Decimal `json:"open,omitempty" bson:"open"`
	High          decimal.Decimal `json:"high,omitempty" bson:"high"`
	Low           decimal.Decimal `json:"low,omitempty" bson:"low"`
	Close         decimal.Decimal `json:"close,omitempty" bson:"close"`
	AdjustedClose decimal.Decimal `json:"adjusted_close,omitempty" bson:"adjusted_close"`
	Volume        decimal.Decimal `json:"volume,omitempty" bson:"volume"`

	MarketCapitalization *decimal.Decimal
	EMA_50               *decimal.Decimal
	EMA_200              *decimal.Decimal
	High_250             *decimal.Decimal
	Low_250              *decimal.Decimal
	Prev_close           *decimal.Decimal
	Change               *decimal.Decimal
	ChangePercent        *decimal.Decimal

	Ticker string `json:"tickers,omitempty" bson:"ticker"`
}

EODPrice is the price information for a single Asset

type EODSplit added in v0.5.0

type EODSplit struct {
	Code   string `json:"code,omitempty" bson:"code"`
	Ex     string `json:"exchange_short_name,omitempty" bson:"exchange_short_name"`
	Ticker string `json:"tickers,omitempty" bson:"ticker"`
	Date   string `json:"date,omitempty" bson:"date"`
	Split  string `json:"split,omitempty" bson:"split"`
}

type EODTicker

type EODTicker struct {
	Code     string `json:"code" bson:"code"`
	Name     string `json:"name" bson:"name"`
	Country  string `json:"country" bson:"country"`
	Exchange string `json:"exchange" bson:"exchange"`
	Currency string `json:"currency" bson:"currency"`
	Type     string `json:"type" bson:"type"`

	Ticker            string   `json:"ticker" bson:"ticker"`
	ExchangeShortName string   `json:"exchange_short_name" bson:"exchange_short_name"`
	OpenfigiTickers   []string `json:"openfigi_tickers" bson:"openfigi_tickers"`
}

EODTicker Ticker Info

type EODhd

type EODhd struct {
	// contains filtered or unexported fields
}

EODhd is an EOD Historical Data Client Info

func NewDefaultEOD added in v0.3.0

func NewDefaultEOD(eodHdToken string) *EODhd

NewEOD initializes a new eod historical data client

func NewEOD

func NewEOD(eodHdURL, eodHdToken string, transport http.RoundTripper) *EODhd

NewEOD initializes a new eod historical data client

func (*EODhd) FetchDividends added in v0.5.0

func (d *EODhd) FetchDividends(ctx context.Context, info chan EODDividend, exchange *exchanges.Exchange, date time.Time, symbols ...string) error

FetchPrices Fetches End of day for the exchange only date part of time will be used

func (*EODhd) FetchDividendsTicker added in v0.5.0

func (d *EODhd) FetchDividendsTicker(context context.Context, dividends chan EODDividend, ticker string, from time.Time) interface{}

FetchDividendsTicker fetches the dividends of a single ticker

func (*EODhd) FetchFundamentals

func (d *EODhd) FetchFundamentals(ctx context.Context, fundamentals chan Fundamentals, exchange *exchanges.Exchange, pagesize int, lenient bool) error

FetchFundamentals Fetches Fundamentals for the exchange

func (*EODhd) FetchFundamentalsSymbol added in v0.5.0

func (d *EODhd) FetchFundamentalsSymbol(ctx context.Context, exchange, symbol string) (Fundamentals, error)

FetchFundamentalsSymbol Fetches Fundamentals for a single symbol

func (*EODhd) FetchFundamentalsTicker added in v0.5.0

func (d *EODhd) FetchFundamentalsTicker(ctx context.Context, fundamentals chan Fundamentals, exchange string, symbol ...string) error

FetchFundamentalsTicker gets multiple symbols (currently a wrapper for single fetches - does multiple network calls

func (*EODhd) FetchPrices added in v0.5.0

func (d *EODhd) FetchPrices(ctx context.Context, info chan EODPrice, exchange *exchanges.Exchange, date time.Time, symbols ...string) error

FetchPrices Fetches End of day for the exchange only date part of time will be used

func (*EODhd) FetchSplits added in v0.5.0

func (d *EODhd) FetchSplits(ctx context.Context, info chan EODSplit, exchange *exchanges.Exchange, date time.Time, symbols ...string) error

FetchPrices Fetches End of day for the exchange only date part of time will be used

func (*EODhd) FetchSplitsTicker added in v0.5.0

func (d *EODhd) FetchSplitsTicker(context context.Context, splits chan EODSplit, ticker string, from time.Time) error

FetchSplitsTicker fetches the splits of a single ticker

func (*EODhd) FetchSymbols added in v0.5.0

func (d *EODhd) FetchSymbols(ctx context.Context, info chan Symbol, exchange *exchanges.Exchange) error

FetchSymbols Loads the Symbols for an exchange

func (*EODhd) FetchTickers

func (d *EODhd) FetchTickers(ctx context.Context, info chan EODTicker, exchange *exchanges.Exchange) error

FetchTickers Fetches End of day for the exchange

func (*EODhd) GetEtfs added in v0.5.0

func (d *EODhd) GetEtfs() ([]EODMapping, error)

func (*EODhd) GetSymbols added in v0.5.0

func (d *EODhd) GetSymbols(ctx context.Context, exchange *exchanges.Exchange) ([]Symbol, error)

FetchSymbols Loads the Symbols for an exchange

func (*EODhd) LoadEtfs

func (d *EODhd) LoadEtfs(info chan EODMapping) error

LoadEtfs Loads the ETFS into a EODMappings

type ETFAssetAllocation added in v0.5.0

type ETFAssetAllocation []Allocation

func (*ETFAssetAllocation) UnmarshalEasyJSON added in v0.5.0

func (out *ETFAssetAllocation) UnmarshalEasyJSON(in *jlexer.Lexer)

type ETFData added in v0.5.0

type ETFData struct {
	ISIN                    string             `json:"ISIN"`
	CompanyName             string             `json:"Company_Name"`
	CompanyURL              string             `json:"Company_URL"`
	ETFURL                  string             `json:"ETF_URL"`
	Yield                   string             `json:"Yield"`
	DividendPayingFrequency string             `json:"Dividend_Paying_Frequency"`
	InceptionDate           string             `json:"Inception_Date"`
	MaxAnnualMgmtCharge     string             `json:"Max_Annual_Mgmt_Charge"`
	OngoingCharge           string             `json:"Ongoing_Charge"`
	DateOngoingCharge       string             `json:"Date_Ongoing_Charge"`
	NetExpenseRatio         string             `json:"NetExpenseRatio"`
	AnnualHoldingsTurnover  string             `json:"AnnualHoldingsTurnover"`
	TotalAssets             string             `json:"TotalAssets"`
	AverageMktCapMil        string             `json:"Average_Mkt_Cap_Mil"`
	AssetAllocation         ETFAssetAllocation `json:"Asset_Allocation"`
	WorldRegions            Weights            `json:"World_Regions"`
	SectorWeights           Weights            `json:"Sector_Weights"`
	Top10Holdings           Holdings           `json:"Top_10_Holdings"`
	Holdings                Holdings           `json:"Holdings"`
	MorningStar             MorningStar        `json:"MorningStar"`
	//ValuationsGrowth        ValuationsGrowth     `json:"Valuations_Growth"`
	Performance          Performance `json:"Performance"`
	MarketCapitalisation interface{} `json:"Market_Capitalisation"`
	ValuationsGrowth     interface{} `json:"Valuations_Growth"`
}

func (ETFData) MarshalEasyJSON added in v0.5.0

func (v ETFData) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (ETFData) MarshalJSON added in v0.5.0

func (v ETFData) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*ETFData) UnmarshalEasyJSON added in v0.5.0

func (v *ETFData) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ETFData) UnmarshalJSON added in v0.5.0

func (v *ETFData) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Earnings added in v0.3.0

type Earnings struct {
	History EarningsInfos         `json:"History"`
	Trend   EarningsEstimateInfos `json:"Trend"`
	Annual  EarningsInfos         `json:"Annual"`
}

func (Earnings) MarshalEasyJSON added in v0.5.0

func (v Earnings) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Earnings) MarshalJSON added in v0.5.0

func (v Earnings) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Earnings) UnmarshalEasyJSON added in v0.5.0

func (v *Earnings) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Earnings) UnmarshalJSON added in v0.5.0

func (v *Earnings) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type EarningsEstimateInfo added in v0.5.0

type EarningsEstimateInfo struct {
	Date                             string   `json:"date"`
	Period                           string   `json:"period"`
	Growth                           *Decimal `json:"growth"`
	EarningsEstimateAvg              *Decimal `json:"earningsEstimateAvg"`
	EarningsEstimateLow              *Decimal `json:"earningsEstimateLow"`
	EarningsEstimateHigh             *Decimal `json:"earningsEstimateHigh"`
	EarningsEstimateYearAgoEps       *Decimal `json:"earningsEstimateYearAgoEps"`
	EarningsEstimateNumberOfAnalysts *Decimal `json:"earningsEstimateNumberOfAnalysts"`
	EarningsEstimateGrowth           *Decimal `json:"earningsEstimateGrowth"`
	RevenueEstimateAvg               *Decimal `json:"revenueEstimateAvg"`
	RevenueEstimateLow               *Decimal `json:"revenueEstimateLow"`
	RevenueEstimateHigh              *Decimal `json:"revenueEstimateHigh"`
	RevenueEstimateYearAgoEps        *Decimal `json:"revenueEstimateYearAgoEps"`
	RevenueEstimateNumberOfAnalysts  *Decimal `json:"revenueEstimateNumberOfAnalysts"`
	RevenueEstimateGrowth            *Decimal `json:"revenueEstimateGrowth"`
	EpsTrendCurrent                  *Decimal `json:"epsTrendCurrent"`
	EpsTrend7DaysAgo                 *Decimal `json:"epsTrend7daysAgo"`
	EpsTrend30DaysAgo                *Decimal `json:"epsTrend30daysAgo"`
	EpsTrend60DaysAgo                *Decimal `json:"epsTrend60daysAgo"`
	EpsTrend90DaysAgo                *Decimal `json:"epsTrend90daysAgo"`
	EpsRevisionsUpLast7Days          *Decimal `json:"epsRevisionsUpLast7days"`
	EpsRevisionsUpLast30Days         *Decimal `json:"epsRevisionsUpLast30days"`
	EpsRevisionsDownLast30Days       *Decimal `json:"epsRevisionsDownLast30days"`
	EpsRevisionsDownLast90Days       *Decimal `json:"epsRevisionsDownLast90days"`
}

func (EarningsEstimateInfo) MarshalEasyJSON added in v0.5.0

func (v EarningsEstimateInfo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (EarningsEstimateInfo) MarshalJSON added in v0.5.0

func (v EarningsEstimateInfo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*EarningsEstimateInfo) UnmarshalEasyJSON added in v0.5.0

func (v *EarningsEstimateInfo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*EarningsEstimateInfo) UnmarshalJSON added in v0.5.0

func (v *EarningsEstimateInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type EarningsEstimateInfos added in v0.5.0

type EarningsEstimateInfos []EarningsEstimateInfo

func (*EarningsEstimateInfos) UnmarshalEasyJSON added in v0.5.0

func (out *EarningsEstimateInfos) UnmarshalEasyJSON(in *jlexer.Lexer)

type EarningsInfo added in v0.3.0

type EarningsInfo struct {
	Date            string   `json:"date"`
	ReportDate      string   `json:"reportDate"`
	EpsActual       *Decimal `json:"epsActual"`
	EpsEstimate     *Decimal `json:"epsEstimate"`
	EpsDifference   *Decimal `json:"epsDifference"`
	SurprisePercent *Decimal `json:"surprisePercent"`
}

func (EarningsInfo) MarshalEasyJSON added in v0.5.0

func (v EarningsInfo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (EarningsInfo) MarshalJSON added in v0.5.0

func (v EarningsInfo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*EarningsInfo) UnmarshalEasyJSON added in v0.5.0

func (v *EarningsInfo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*EarningsInfo) UnmarshalJSON added in v0.5.0

func (v *EarningsInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type EarningsInfos added in v0.5.0

type EarningsInfos []EarningsInfo

func (*EarningsInfos) UnmarshalEasyJSON added in v0.5.0

func (out *EarningsInfos) UnmarshalEasyJSON(in *jlexer.Lexer)

type Financials added in v0.3.0

type Financials struct {
	BalanceSheet    BalanceSheet    `json:"Balance_Sheet"`
	CashFlow        CashFlow        `json:"Cash_Flow"`
	IncomeStatement IncomeStatement `json:"Income_Statement"`
}

func (Financials) MarshalEasyJSON added in v0.5.0

func (v Financials) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Financials) MarshalJSON added in v0.5.0

func (v Financials) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Financials) UnmarshalEasyJSON added in v0.5.0

func (v *Financials) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Financials) UnmarshalJSON added in v0.5.0

func (v *Financials) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Fundamentals

type Fundamentals struct {
	LastUpdate        time.Time
	Ticker            string
	General           General            `json:"General"`
	Highlights        *Highlights        `json:"Highlights"`
	Valuation         *Valuation         `json:"Valuation"`
	Technicals        *Technicals        `json:"Technicals"`
	SplitsDividends   *SplitsDividends   `json:"SplitsDividends"`
	Earnings          *Earnings          `json:"Earnings"`
	Financials        *Financials        `json:"Financials"`
	ETFData           *ETFData           `json:"ETF_Data"`
	SharesStats       *SharesStats       `json:"SharesStats"`
	OutstandingShares *OutstandingShares `json:"outstandingShares"`
	Components        Components         `json:"Components"`
	MutualFundData    *MutualFundData    `json:"MutualFund_Data"`
}

Fundamentals for a ticker

func (Fundamentals) MarshalEasyJSON added in v0.5.0

func (v Fundamentals) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Fundamentals) MarshalJSON added in v0.5.0

func (v Fundamentals) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Fundamentals) UnmarshalEasyJSON added in v0.5.0

func (v *Fundamentals) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Fundamentals) UnmarshalJSON added in v0.5.0

func (v *Fundamentals) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type General

type General struct {
	Code                  string  `json:"Code"`
	Type                  string  `json:"Type"`
	Name                  string  `json:"Name"`
	Exchange              string  `json:"Exchange"`
	CurrencyCode          string  `json:"CurrencyCode"`
	CurrencyName          string  `json:"CurrencyName"`
	CurrencySymbol        string  `json:"CurrencySymbol"`
	CountryName           string  `json:"CountryName"`
	CountryISO            string  `json:"CountryISO"`
	Sector                string  `json:"Sector"`
	Industry              string  `json:"Industry"`
	Description           string  `json:"Description"`
	ISIN                  *string `json:"ISIN"`
	FullTimeEmployees     *int    `json:"FullTimeEmployees"`
	UpdatedAt             *string `json:"UpdatedAt"`
	Cusip                 *string `json:"CUSIP"`
	LogoURL               *string `json:"LogoURL"`
	CIK                   *string `json:"CIK"`
	EmployerIDNumber      *string `json:"EmployerIdNumber"`
	FiscalYearEnd         *string `json:"FiscalYearEnd"`
	IPODate               *string `json:"IPODate"`
	InternationalDomestic *string `json:"InternationalDomestic"`
	GicSector             *string `json:"GicSector"`
	GicGroup              *string `json:"GicGroup"`
	GicIndustry           *string `json:"GicIndustry"`
	GicSubIndustry        *string `json:"GicSubIndustry"`
	Address               *string `json:"Address"`
	Phone                 *string `json:"Phone"`
	WebURL                *string `json:"WebURL"`
	Category              *string `json:"Category"`
	FundSummary           *string `json:"Fund_Summary"`
	FundFamily            *string `json:"Fund_Family"`
	FundFiscalYearEnd     *string `json:"Fiscal_Year_End"`
}

func (General) MarshalEasyJSON added in v0.5.0

func (v General) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (General) MarshalJSON added in v0.5.0

func (v General) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*General) UnmarshalEasyJSON added in v0.5.0

func (v *General) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*General) UnmarshalJSON added in v0.5.0

func (v *General) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Highlights added in v0.3.0

type Highlights struct {
	MarketCapitalization       *Decimal `json:"MarketCapitalization"`
	MarketCapitalizationMln    string   `json:"MarketCapitalizationMln"`
	EBITDA                     *Decimal `json:"EBITDA"`
	PERatio                    *Decimal `json:"PERatio"`
	PEGRatio                   *Decimal `json:"PEGRatio"`
	WallStreetTargetPrice      *Decimal `json:"WallStreetTargetPrice"`
	BookValue                  *Decimal `json:"BookValue"`
	DividendShare              *Decimal `json:"DividendShare"`
	DividendYield              *Decimal `json:"DividendYield"`
	EarningsShare              *Decimal `json:"EarningsShare"`
	EPSEstimateCurrentYear     *Decimal `json:"EPSEstimateCurrentYear"`
	EPSEstimateNextYear        *Decimal `json:"EPSEstimateNextYear"`
	EPSEstimateNextQuarter     *Decimal `json:"EPSEstimateNextQuarter"`
	MostRecentQuarter          string   `json:"MostRecentQuarter"`
	ProfitMargin               *Decimal `json:"ProfitMargin"`
	OperatingMarginTTM         *Decimal `json:"OperatingMarginTTM"`
	ReturnOnAssetsTTM          *Decimal `json:"ReturnOnAssetsTTM"`
	ReturnOnEquityTTM          *Decimal `json:"ReturnOnEquityTTM"`
	RevenueTTM                 *Decimal `json:"RevenueTTM"`
	RevenuePerShareTTM         *Decimal `json:"RevenuePerShareTTM"`
	QuarterlyRevenueGrowthYOY  *Decimal `json:"QuarterlyRevenueGrowthYOY"`
	GrossProfitTTM             *Decimal `json:"GrossProfitTTM"`
	DilutedEpsTTM              *Decimal `json:"DilutedEpsTTM"`
	QuarterlyEarningsGrowthYOY *Decimal `json:"QuarterlyEarningsGrowthYOY"`
}

func (Highlights) MarshalEasyJSON added in v0.5.0

func (v Highlights) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Highlights) MarshalJSON added in v0.5.0

func (v Highlights) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Highlights) UnmarshalEasyJSON added in v0.5.0

func (v *Highlights) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Highlights) UnmarshalJSON added in v0.5.0

func (v *Highlights) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Holding added in v0.5.0

type Holding struct {
	Name                  string   `json:"Name"`
	Country               string   `json:"Country"`
	AssetsPercent         *Decimal "json:\"Assets_%\""
	AssetsBackTickPercent *Decimal "json:\"Assets_`%\""
}

func (Holding) MarshalEasyJSON added in v0.5.0

func (v Holding) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Holding) MarshalJSON added in v0.5.0

func (v Holding) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Holding) UnmarshalEasyJSON added in v0.5.0

func (v *Holding) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Holding) UnmarshalJSON added in v0.5.0

func (v *Holding) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Holdings added in v0.5.0

type Holdings []Holding

func (*Holdings) UnmarshalEasyJSON added in v0.5.0

func (out *Holdings) UnmarshalEasyJSON(in *jlexer.Lexer)

type IncomeStatement added in v0.3.0

type IncomeStatement struct {
	CurrencySymbol string               `json:"currency_symbol"`
	Quarterly      IncomeStatementInfos `json:"quarterly"`
	Yearly         IncomeStatementInfos `json:"yearly"`
}

func (IncomeStatement) MarshalEasyJSON added in v0.5.0

func (v IncomeStatement) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (IncomeStatement) MarshalJSON added in v0.5.0

func (v IncomeStatement) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*IncomeStatement) UnmarshalEasyJSON added in v0.5.0

func (v *IncomeStatement) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*IncomeStatement) UnmarshalJSON added in v0.5.0

func (v *IncomeStatement) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type IncomeStatementInfo added in v0.3.0

type IncomeStatementInfo struct {
	Date                              string   `json:"date"`
	FilingDate                        *string  `json:"filing_date"`
	ResearchDevelopment               *Decimal `json:"researchDevelopment"`
	EffectOfAccountingCharges         *Decimal `json:"effectOfAccountingCharges"`
	IncomeBeforeTax                   *Decimal `json:"incomeBeforeTax"`
	MinorityInterest                  *Decimal `json:"minorityInterest"`
	NetIncome                         *Decimal `json:"netIncome"`
	SellingGeneralAdministrative      *Decimal `json:"sellingGeneralAdministrative"`
	GrossProfit                       *Decimal `json:"grossProfit"`
	Ebit                              *Decimal `json:"ebit"`
	NonOperatingIncomeNetOther        *Decimal `json:"nonOperatingIncomeNetOther"`
	OperatingIncome                   *Decimal `json:"operatingIncome"`
	OtherOperatingExpenses            *Decimal `json:"otherOperatingExpenses"`
	InterestExpense                   *Decimal `json:"interestExpense"`
	ExtraordinaryItems                *Decimal `json:"extraordinaryItems"`
	NonRecurring                      *Decimal `json:"nonRecurring"`
	OtherItems                        *Decimal `json:"otherItems"`
	IncomeTaxExpense                  *Decimal `json:"incomeTaxExpense"`
	TotalRevenue                      *Decimal `json:"totalRevenue"`
	TotalOperatingExpenses            *Decimal `json:"totalOperatingExpenses"`
	CostOfRevenue                     *Decimal `json:"costOfRevenue"`
	TotalOtherIncomeExpenseNet        *Decimal `json:"totalOtherIncomeExpenseNet"`
	DiscontinuedOperations            *Decimal `json:"discontinuedOperations"`
	NetIncomeFromContinuingOps        *Decimal `json:"netIncomeFromContinuingOps"`
	NetIncomeApplicableToCommonShares *Decimal `json:"netIncomeApplicableToCommonShares"`
	PreferredStockAndOtherAdjustments *Decimal `json:"preferredStockAndOtherAdjustments"`
}

func (IncomeStatementInfo) MarshalEasyJSON added in v0.5.0

func (v IncomeStatementInfo) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (IncomeStatementInfo) MarshalJSON added in v0.5.0

func (v IncomeStatementInfo) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*IncomeStatementInfo) UnmarshalEasyJSON added in v0.5.0

func (v *IncomeStatementInfo) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*IncomeStatementInfo) UnmarshalJSON added in v0.5.0

func (v *IncomeStatementInfo) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type IncomeStatementInfos added in v0.5.0

type IncomeStatementInfos []IncomeStatementInfo

func (*IncomeStatementInfos) UnmarshalEasyJSON added in v0.5.0

func (out *IncomeStatementInfos) UnmarshalEasyJSON(in *jlexer.Lexer)

type MarketCapitalization added in v0.5.0

type MarketCapitalization struct {
	Category        string   `json:"Category"`
	Size            string   `json:"Size"`
	CategoryAverage *Decimal `json:"Category_Average"`
	Benchmark       *Decimal `json:"Benchmark"`
	Portfolio       *Decimal `json:"Portfolio_%"`
}

func (MarketCapitalization) MarshalEasyJSON added in v0.5.0

func (v MarketCapitalization) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketCapitalization) MarshalJSON added in v0.5.0

func (v MarketCapitalization) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MarketCapitalization) UnmarshalEasyJSON added in v0.5.0

func (v *MarketCapitalization) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketCapitalization) UnmarshalJSON added in v0.5.0

func (v *MarketCapitalization) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MarketCapitalizations added in v0.5.0

type MarketCapitalizations []MarketCapitalization

func (*MarketCapitalizations) UnmarshalEasyJSON added in v0.5.0

func (out *MarketCapitalizations) UnmarshalEasyJSON(in *jlexer.Lexer)

type MorningStar added in v0.5.0

type MorningStar struct {
	Ratio               string `json:"Ratio"`
	CategoryBenchmark   string `json:"Category_Benchmark"`
	SustainabilityRatio string `json:"Sustainability_Ratio,string"`
}

func (MorningStar) MarshalEasyJSON added in v0.5.0

func (v MorningStar) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MorningStar) MarshalJSON added in v0.5.0

func (v MorningStar) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MorningStar) UnmarshalEasyJSON added in v0.5.0

func (v *MorningStar) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MorningStar) UnmarshalJSON added in v0.5.0

func (v *MorningStar) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type MutualFundData added in v0.5.0

type MutualFundData struct {
	Nav                   string                `json:"Nav"`
	PrevClosePrice        string                `json:"Prev_Close_Price"`
	UpdateDate            string                `json:"Update_Date"`
	PortfolioNetAssets    string                `json:"Portfolio_Net_Assets"`
	ShareClassNetAssets   string                `json:"Share_Class_Net_Assets"`
	MorningStarRating     Rating                `json:"Morning_Star_Rating"`
	MorningStarRiskRating Rating                `json:"Morning_Star_Risk_Rating"`
	MorningStarCategory   string                `json:"Morning_Star_Category"`
	InceptonDate          string                `json:"Incepton_Date"`
	Currency              string                `json:"Currency"`
	Domicile              string                `json:"Domicile"`
	Yield                 string                `json:"Yield"`
	YieldYTD              string                `json:"Yield_YTD"`
	Yield1YearYTD         string                `json:"Yield_1Year_YTD"`
	Yield3YearYTD         string                `json:"Yield_3Year_YTD"`
	Yield5YearYTD         string                `json:"Yield_5Year_YTD"`
	ExpenseRatio          string                `json:"Expense_Ratio"`
	ExpenseRatioDate      string                `json:"Expense_Ratio_Date"`
	AssetAllocation       AssetAllocations      `json:"Asset_Allocation"`
	ValueGrowth           ValueGrowths          `json:"Value_Growth"`
	TopHoldings           TopHoldings           `json:"Top_Holdings"`
	MarketCapitalization  MarketCapitalizations `json:"Market_Capitalization"`
	SectorWeights         SectorWeightsGroup    `json:"Sector_Weights"`
	WorldRegions          RegionWeights         `json:"World_Regions"`
}

func (MutualFundData) MarshalEasyJSON added in v0.5.0

func (v MutualFundData) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (MutualFundData) MarshalJSON added in v0.5.0

func (v MutualFundData) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*MutualFundData) UnmarshalEasyJSON added in v0.5.0

func (v *MutualFundData) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MutualFundData) UnmarshalJSON added in v0.5.0

func (v *MutualFundData) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type OutstandingShares added in v0.5.0

type OutstandingShares struct {
	Annual    SharesOutstandings `json:"annual"`
	Quarterly SharesOutstandings `json:"quarterly"`
}

func (OutstandingShares) MarshalEasyJSON added in v0.5.0

func (v OutstandingShares) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (OutstandingShares) MarshalJSON added in v0.5.0

func (v OutstandingShares) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*OutstandingShares) UnmarshalEasyJSON added in v0.5.0

func (v *OutstandingShares) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*OutstandingShares) UnmarshalJSON added in v0.5.0

func (v *OutstandingShares) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Performance added in v0.5.0

type Performance struct {
	ThreeYVolatility *Decimal `json:"3y_Volatility"`
	ThreeYExpReturn  *Decimal `json:"3y_ExpReturn"`
	ThreeYSharpRatio *Decimal `json:"3y_SharpRatio"`
	ReturnsYTD       *Decimal `json:"Returns_YTD"`
	Returns3Y        *Decimal `json:"Returns_3Y"`
	Returns5Y        *Decimal `json:"Returns_5Y"`
	Returns10Y       *Decimal `json:"Returns_10Y"`
}

func (Performance) MarshalEasyJSON added in v0.5.0

func (v Performance) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Performance) MarshalJSON added in v0.5.0

func (v Performance) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Performance) UnmarshalEasyJSON added in v0.5.0

func (v *Performance) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Performance) UnmarshalJSON added in v0.5.0

func (v *Performance) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Rating added in v0.5.0

type Rating string

func (Rating) MarshalEasyJSON added in v0.5.0

func (r Rating) MarshalEasyJSON(w *jwriter.Writer)

func (*Rating) UnmarshalEasyJSON added in v0.5.0

func (r *Rating) UnmarshalEasyJSON(in *jlexer.Lexer)

type RegionWeight added in v0.5.0

type RegionWeight struct {
	Category        string `json:"Category"`
	Name            string `json:"Name"`
	CategoryAverage string `json:"Category_Average"`
	Stocks          string `json:"Stocks_%"`
	Benchmark       string `json:"Benchmark"`
}

func (RegionWeight) MarshalEasyJSON added in v0.5.0

func (v RegionWeight) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (RegionWeight) MarshalJSON added in v0.5.0

func (v RegionWeight) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*RegionWeight) UnmarshalEasyJSON added in v0.5.0

func (v *RegionWeight) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*RegionWeight) UnmarshalJSON added in v0.5.0

func (v *RegionWeight) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type RegionWeights added in v0.5.0

type RegionWeights []RegionWeight

func (*RegionWeights) UnmarshalEasyJSON added in v0.5.0

func (out *RegionWeights) UnmarshalEasyJSON(in *jlexer.Lexer)

type SectorWeight added in v0.5.0

type SectorWeight struct {
	Type            string `json:"Type"`
	CategoryAverage string `json:"Category_Average"`
	Amount          string `json:"Amount_%"`
	Benchmark       string `json:"Benchmark"`
}

func (SectorWeight) MarshalEasyJSON added in v0.5.0

func (v SectorWeight) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SectorWeight) MarshalJSON added in v0.5.0

func (v SectorWeight) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SectorWeight) UnmarshalEasyJSON added in v0.5.0

func (v *SectorWeight) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SectorWeight) UnmarshalJSON added in v0.5.0

func (v *SectorWeight) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type SectorWeights added in v0.5.0

type SectorWeights []SectorWeight

func (*SectorWeights) UnmarshalEasyJSON added in v0.5.0

func (out *SectorWeights) UnmarshalEasyJSON(in *jlexer.Lexer)

type SectorWeightsGroup added in v0.5.0

type SectorWeightsGroup struct {
	Cyclical  SectorWeights `json:"Cyclical"`
	Defensive SectorWeights `json:"Defensive"`
	Sensitive SectorWeights `json:"Sensitive"`
}

func (SectorWeightsGroup) MarshalEasyJSON added in v0.5.0

func (v SectorWeightsGroup) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SectorWeightsGroup) MarshalJSON added in v0.5.0

func (v SectorWeightsGroup) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SectorWeightsGroup) UnmarshalEasyJSON added in v0.5.0

func (v *SectorWeightsGroup) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SectorWeightsGroup) UnmarshalJSON added in v0.5.0

func (v *SectorWeightsGroup) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type SharesOutstanding added in v0.5.0

type SharesOutstanding struct {
	Date      string `json:"date"`
	SharesMln string `json:"sharesMln"`
}

func (SharesOutstanding) MarshalEasyJSON added in v0.5.0

func (v SharesOutstanding) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SharesOutstanding) MarshalJSON added in v0.5.0

func (v SharesOutstanding) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SharesOutstanding) UnmarshalEasyJSON added in v0.5.0

func (v *SharesOutstanding) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SharesOutstanding) UnmarshalJSON added in v0.5.0

func (v *SharesOutstanding) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type SharesOutstandings added in v0.5.0

type SharesOutstandings []SharesOutstanding

func (*SharesOutstandings) UnmarshalEasyJSON added in v0.5.0

func (out *SharesOutstandings) UnmarshalEasyJSON(in *jlexer.Lexer)

type SharesStats added in v0.5.0

type SharesStats struct {
	SharesOutstanding       *Decimal `json:"SharesOutstanding"`
	SharesFloat             *Decimal `json:"SharesFloat"`
	PercentInsiders         *Decimal `json:"PercentInsiders"`
	PercentInstitutions     *Decimal `json:"PercentInstitutions"`
	SharesShort             *Decimal `json:"SharesShort"`
	SharesShortPriorMonth   *Decimal `json:"SharesShortPriorMonth"`
	ShortRatio              *Decimal `json:"ShortRatio"`
	ShortPercentOutstanding *Decimal `json:"ShortPercentOutstanding"`
	ShortPercentFloat       *Decimal `json:"ShortPercentFloat"`
}

func (SharesStats) MarshalEasyJSON added in v0.5.0

func (v SharesStats) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SharesStats) MarshalJSON added in v0.5.0

func (v SharesStats) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SharesStats) UnmarshalEasyJSON added in v0.5.0

func (v *SharesStats) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SharesStats) UnmarshalJSON added in v0.5.0

func (v *SharesStats) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type SplitsDividends added in v0.3.0

type SplitsDividends struct {
	ForwardAnnualDividendRate  *Decimal   `json:"ForwardAnnualDividendRate"`
	ForwardAnnualDividendYield *Decimal   `json:"ForwardAnnualDividendYield"`
	PayoutRatio                *Decimal   `json:"PayoutRatio"`
	DividendDate               string     `json:"DividendDate"`
	ExDividendDate             string     `json:"ExDividendDate"`
	LastSplitFactor            string     `json:"LastSplitFactor"`
	LastSplitDate              string     `json:"LastSplitDate"`
	NumberDividendsByYear      YearCounts `json:"NumberDividendsByYear"`
}

func (SplitsDividends) MarshalEasyJSON added in v0.5.0

func (v SplitsDividends) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (SplitsDividends) MarshalJSON added in v0.5.0

func (v SplitsDividends) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*SplitsDividends) UnmarshalEasyJSON added in v0.5.0

func (v *SplitsDividends) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SplitsDividends) UnmarshalJSON added in v0.5.0

func (v *SplitsDividends) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Symbol added in v0.5.0

type Symbol struct {
	Code     string `json:"code" bson:"code"`
	Type     string `json:"type" bson:"type"`
	Exchange string `json:"exchange" bson:"exchange"`
	Country  string `json:"country" bson:"country"`
	Name     string `json:"name" bson:"name"`
	Currency string `json:"name" bson:"name"`

	Ticker string `json:"ticker" bson:"ticker"`
}

The Symbol does map a ticker to an isin

type Technicals added in v0.3.0

type Technicals struct {
	Beta                  *Decimal `json:"Beta"`
	FiftyTwoWeekHigh      *Decimal `json:"52WeekHigh"`
	FiftyTwoWeekLow       *Decimal `json:"52WeekLow"`
	FiftyDayMA            *Decimal `json:"50DayMA"`
	TwoHundredDayMA       *Decimal `json:"200DayMA"`
	SharesShort           *Decimal `json:"SharesShort"`
	SharesShortPriorMonth *Decimal `json:"SharesShortPriorMonth"`
	ShortRatio            *Decimal `json:"ShortRatio"`
	ShortPercent          *Decimal `json:"ShortPercent"`
}

func (Technicals) MarshalEasyJSON added in v0.5.0

func (v Technicals) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Technicals) MarshalJSON added in v0.5.0

func (v Technicals) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Technicals) UnmarshalEasyJSON added in v0.5.0

func (v *Technicals) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Technicals) UnmarshalJSON added in v0.5.0

func (v *Technicals) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TopHolding added in v0.5.0

type TopHolding struct {
	Name   string  `json:"Name"`
	Owned  *string `json:"Owned"`
	Change *string `json:"Change"`
	Weight *string `json:"Weight"`
}

func (TopHolding) MarshalEasyJSON added in v0.5.0

func (v TopHolding) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (TopHolding) MarshalJSON added in v0.5.0

func (v TopHolding) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*TopHolding) UnmarshalEasyJSON added in v0.5.0

func (v *TopHolding) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TopHolding) UnmarshalJSON added in v0.5.0

func (v *TopHolding) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type TopHoldings added in v0.5.0

type TopHoldings []TopHolding

func (*TopHoldings) UnmarshalEasyJSON added in v0.5.0

func (out *TopHoldings) UnmarshalEasyJSON(in *jlexer.Lexer)

type Valuation added in v0.3.0

type Valuation struct {
	TrailingPE             *Decimal `json:"TrailingPE"`
	ForwardPE              *Decimal `json:"ForwardPE"`
	PriceSalesTTM          *Decimal `json:"PriceSalesTTM"`
	PriceBookMRQ           *Decimal `json:"PriceBookMRQ"`
	EnterpriseValueRevenue *Decimal `json:"EnterpriseValueRevenue"`
	EnterpriseValueEbitda  *Decimal `json:"EnterpriseValueEbitda"`
}

func (Valuation) MarshalEasyJSON added in v0.5.0

func (v Valuation) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Valuation) MarshalJSON added in v0.5.0

func (v Valuation) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Valuation) UnmarshalEasyJSON added in v0.5.0

func (v *Valuation) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Valuation) UnmarshalJSON added in v0.5.0

func (v *Valuation) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type ValueGrowth added in v0.5.0

type ValueGrowth struct {
	Name            string   `json:"Name"`
	CategoryAverage *Decimal `json:"Category_Average"`
	Benchmark       *Decimal `json:"Benchmark"`
	StockPortfolio  *Decimal `json:"Stock_Portfolio"`
}

func (ValueGrowth) MarshalEasyJSON added in v0.5.0

func (v ValueGrowth) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (ValueGrowth) MarshalJSON added in v0.5.0

func (v ValueGrowth) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*ValueGrowth) UnmarshalEasyJSON added in v0.5.0

func (v *ValueGrowth) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ValueGrowth) UnmarshalJSON added in v0.5.0

func (v *ValueGrowth) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type ValueGrowths added in v0.5.0

type ValueGrowths []ValueGrowth

func (*ValueGrowths) UnmarshalEasyJSON added in v0.5.0

func (out *ValueGrowths) UnmarshalEasyJSON(in *jlexer.Lexer)

type Weight added in v0.5.0

type Weight struct {
	Category           string   `json:"Category"`
	EquityPercent      string   `json:"Equity_%"`
	RelativeToCategory *Decimal `json:"Relative_to_Category"`
}

func (Weight) MarshalEasyJSON added in v0.5.0

func (v Weight) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (Weight) MarshalJSON added in v0.5.0

func (v Weight) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*Weight) UnmarshalEasyJSON added in v0.5.0

func (v *Weight) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Weight) UnmarshalJSON added in v0.5.0

func (v *Weight) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type Weights added in v0.5.0

type Weights []Weight

func (*Weights) UnmarshalEasyJSON added in v0.5.0

func (out *Weights) UnmarshalEasyJSON(in *jlexer.Lexer)

type YearCount added in v0.5.0

type YearCount struct {
	Year  int `json:"Year"`
	Count int `json:"Count"`
}

func (YearCount) MarshalEasyJSON added in v0.5.0

func (v YearCount) MarshalEasyJSON(w *jwriter.Writer)

MarshalEasyJSON supports easyjson.Marshaler interface

func (YearCount) MarshalJSON added in v0.5.0

func (v YearCount) MarshalJSON() ([]byte, error)

MarshalJSON supports json.Marshaler interface

func (*YearCount) UnmarshalEasyJSON added in v0.5.0

func (v *YearCount) UnmarshalEasyJSON(l *jlexer.Lexer)

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*YearCount) UnmarshalJSON added in v0.5.0

func (v *YearCount) UnmarshalJSON(data []byte) error

UnmarshalJSON supports json.Unmarshaler interface

type YearCounts added in v0.5.0

type YearCounts []YearCount

func (*YearCounts) UnmarshalEasyJSON added in v0.5.0

func (out *YearCounts) UnmarshalEasyJSON(in *jlexer.Lexer)

Directories

Path Synopsis
util
afr
afr/diskcache
Package diskcache provides an implementation of httpcache.Cache that uses the diskv package to supplement an in-memory map with persistent storage
Package diskcache provides an implementation of httpcache.Cache that uses the diskv package to supplement an in-memory map with persistent storage

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL