eodhdapi

package module
v0.11.1 Latest Latest
Warning

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

Go to latest
Published: Jan 31, 2020 License: MIT Imports: 19 Imported by: 0

README

eodhdapi

This is a simple eod historical data api for Golang. It does a bunch of conversions to handle the data from eodhdapi in a easier way.

example

counts all the number of prices for all exchanges. package main

import (
    "context"
    "fmt"
    "github.com/confinale/eodhdapi"
    "github.com/confinale/eodhdapi/exchanges"
    "os"
    "time"
)

func main() {
    d := eodhdapi.NewDefaultEOD(os.Getenv("EODHD_TOKEN"))

    for _, e := range exchanges.All() {

        prices := make(chan eodhdapi.EODPrice)
        done := make(chan int, 1)

        go func(f chan eodhdapi.EODPrice, d chan int) {
            count := 0
            for range f {
                count++
            }
            d <- count
        }(prices, done)

        if err := d.FetchPrices(context.Background(), prices, e, time.Date(2019, 9, 25, 0, 0, 0, 0, time.UTC)); err != nil {
            panic(err)
        }
        close(prices)

        count := <-done

        fmt.Printf("exchange %s had %d elements\n", e.Code, count)
    }
}

Documentation

Index

Constants

View Source
const DefaultProxyURL = "https://eodhd-proxy.herokuapp.com/api"
View Source
const DefaultURL = "https://eodhistoricaldata.com/api"

Variables

This section is empty.

Functions

func StatusError added in v0.8.1

func StatusError(response *http.Response) error

Types

type ActivitiesInvolvement added in v0.7.0

type ActivitiesInvolvement struct {
	Activity    string `json:"Activity"`
	Involvement string `json:"Involvement"`
}

func (ActivitiesInvolvement) MarshalEasyJSON added in v0.7.0

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (ActivitiesInvolvement) MarshalJSON added in v0.7.0

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

MarshalJSON supports json.Marshaler interface

func (*ActivitiesInvolvement) UnmarshalEasyJSON added in v0.7.0

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ActivitiesInvolvement) UnmarshalJSON added in v0.7.0

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

UnmarshalJSON supports json.Unmarshaler interface

type ActivitiesInvolvements added in v0.7.0

type ActivitiesInvolvements []ActivitiesInvolvement

func (*ActivitiesInvolvements) UnmarshalEasyJSON added in v0.7.0

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

type Allocation

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

func (Allocation) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Allocation) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Allocation) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Allocation) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type AssetAllocation

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (AssetAllocation) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*AssetAllocation) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*AssetAllocation) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type AssetAllocations

type AssetAllocations []AssetAllocation

func (*AssetAllocations) UnmarshalEasyJSON

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

type BalanceSheet

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

func (BalanceSheet) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (BalanceSheet) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*BalanceSheet) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BalanceSheet) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type BalanceSheetInfo

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

	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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (BalanceSheetInfo) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*BalanceSheetInfo) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*BalanceSheetInfo) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type BalanceSheetInfos

type BalanceSheetInfos []BalanceSheetInfo

func (*BalanceSheetInfos) UnmarshalEasyJSON

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

type CashFlow

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

func (CashFlow) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (CashFlow) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*CashFlow) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CashFlow) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type CashFlowInfo

type CashFlowInfo struct {
	Date                                  string   `json:"date"`
	FilingDate                            *string  `json:"filing_date"`
	CurrencySymbol                        *string  `json:"currency_symbol"`
	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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (CashFlowInfo) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*CashFlowInfo) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*CashFlowInfo) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type CashFlowInfos

type CashFlowInfos []CashFlowInfo

func (*CashFlowInfos) UnmarshalEasyJSON

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

type Component

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Component) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Component) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Component) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Components

type Components []Component

func (*Components) UnmarshalEasyJSON

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

type Decimal

type Decimal decimal.Decimal

func (*Decimal) D

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

D gets the casted decimal.Decimal

func (Decimal) MarshalEasyJSON

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

func (*Decimal) UnmarshalEasyJSON

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

type EODDividend

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

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"`

	Price *decimal.Decimal `json:"price,omitempty" bson:"price"`
	Yield *decimal.Decimal `json:"yield,omitempty" bson:"yield"`

	MarketCapitalization *decimal.Decimal `json:"market_capitalization,omitempty" bson:"market_capitalization"`
	EMA_50               *decimal.Decimal `json:"ema_50,omitempty" bson:"ema_50"`
	EMA_200              *decimal.Decimal `json:"ema_200,omitempty" bson:"ema_200"`
	High_250             *decimal.Decimal `json:"high_250,omitempty" bson:"high_250"`
	Low_250              *decimal.Decimal `json:"low_250,omitempty" bson:"low_250"`
	Prev_close           *decimal.Decimal `json:"prev_close,omitempty" bson:"prev_close"`
	Change               *decimal.Decimal `json:"change,omitempty" bson:"change"`
	ChangePercent        *decimal.Decimal `json:"change_percent,omitempty" bson:"change_percent"`

	Avgvol50d  *decimal.Decimal `json:"avg_vol_50d,omitempty" bson:"avg_vol_50d"`
	Avgvol200d *decimal.Decimal `json:"avg_vol_200d,omitempty" bson:"avg_vol_200d"`
	Avgvol14d  *decimal.Decimal `json:"avg_vol_14d,omitempty" bson:"avg_vol_14d"`

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

EODPrice is the price information for a single Asset

type EODSplit

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

func NewDefaultEOD(eodHdToken string) *EODhd

NewDefaultEOD initializes a new eod historical data client

func NewDefaultProxyEOD added in v0.10.0

func NewDefaultProxyEOD(eodHdToken string) *EODhd

NewDefaultProxyEOD initializes a new eod historical data client using the default proxy

func NewEOD

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

NewEOD initializes a new eod historical data client

func (*EODhd) FetchDividends

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

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

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

FetchFundamentalsSymbol Fetches Fundamentals for a single symbol

func (*EODhd) FetchFundamentalsTicker

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

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

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

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

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

FetchSymbols Loads the Symbols for an exchange

func (*EODhd) FetchTickerPrices added in v0.7.1

func (d *EODhd) FetchTickerPrices(ctx context.Context, info chan EODPrice, symbol, exchange string, from, to time.Time, period string) error

FetchTickerPrices Fetches End of day for the ticker only date part of time will be used - use ‘d’ for daily, ‘w’ for weekly and ‘m’ for monthly prices

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

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

func (*EODhd) GetSymbols

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 ESGScores added in v0.7.0

type ESGScores struct {
	RatingDate                 string                 `json:"RatingDate"`
	TotalEsg                   float64                `json:"TotalEsg"`
	TotalEsgPercentile         float64                `json:"TotalEsgPercentile"`
	EnvironmentScore           float64                `json:"EnvironmentScore"`
	EnvironmentScorePercentile float64                `json:"EnvironmentScorePercentile"`
	SocialScore                float64                `json:"SocialScore"`
	SocialScorePercentile      float64                `json:"SocialScorePercentile"`
	GovernanceScore            float64                `json:"GovernanceScore"`
	GovernanceScorePercentile  float64                `json:"GovernanceScorePercentile"`
	ControversyLevel           int                    `json:"ControversyLevel"`
	ActivitiesInvolvement      ActivitiesInvolvements `json:"ActivitiesInvolvement"`
}

func (ESGScores) MarshalEasyJSON added in v0.7.0

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (ESGScores) MarshalJSON added in v0.7.0

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

MarshalJSON supports json.Marshaler interface

func (*ESGScores) UnmarshalEasyJSON added in v0.7.0

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ESGScores) UnmarshalJSON added in v0.7.0

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

UnmarshalJSON supports json.Unmarshaler interface

type ETFAssetAllocation

type ETFAssetAllocation []Allocation

func (*ETFAssetAllocation) UnmarshalEasyJSON

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

type ETFData

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (ETFData) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*ETFData) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ETFData) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Earnings

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

func (Earnings) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Earnings) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Earnings) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Earnings) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type EarningsEstimateInfo

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (EarningsEstimateInfo) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*EarningsEstimateInfo) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*EarningsEstimateInfo) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type EarningsEstimateInfos

type EarningsEstimateInfos []EarningsEstimateInfo

func (*EarningsEstimateInfos) UnmarshalEasyJSON

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

type EarningsInfo

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (EarningsInfo) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*EarningsInfo) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*EarningsInfo) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type EarningsInfos

type EarningsInfos []EarningsInfo

func (*EarningsInfos) UnmarshalEasyJSON

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

type ErrNotFound added in v0.8.1

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

func (*ErrNotFound) Code added in v0.8.2

func (e *ErrNotFound) Code() int

func (*ErrNotFound) Error added in v0.8.1

func (e *ErrNotFound) Error() string

type ErrPaymentRequired added in v0.8.2

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

func (*ErrPaymentRequired) Code added in v0.8.2

func (e *ErrPaymentRequired) Code() int

func (*ErrPaymentRequired) Error added in v0.8.2

func (e *ErrPaymentRequired) Error() string

type ErrTooManyRequests added in v0.8.1

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

func (*ErrTooManyRequests) Code added in v0.8.2

func (e *ErrTooManyRequests) Code() int

func (*ErrTooManyRequests) Error added in v0.8.1

func (e *ErrTooManyRequests) Error() string

type ErrUnknownStatus added in v0.8.1

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

func (*ErrUnknownStatus) Code added in v0.8.2

func (e *ErrUnknownStatus) Code() int

func (*ErrUnknownStatus) Error added in v0.8.1

func (e *ErrUnknownStatus) Error() string

type Financials

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

func (Financials) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Financials) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Financials) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Financials) UnmarshalJSON

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"`
	ESGScores         *ESGScores         `json:"ESGScores"`
	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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Fundamentals) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Fundamentals) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Fundamentals) UnmarshalJSON

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (General) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*General) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*General) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Highlights

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"`
	EPSEstimateCurrentQuarter  *Decimal `json:"EPSEstimateCurrentQuarter"`
	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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Highlights) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Highlights) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Highlights) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Holding

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

func (Holding) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Holding) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Holding) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Holding) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Holdings

type Holdings []Holding

func (*Holdings) UnmarshalEasyJSON

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

type IncomeStatement

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

func (IncomeStatement) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (IncomeStatement) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*IncomeStatement) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*IncomeStatement) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type IncomeStatementInfo

type IncomeStatementInfo struct {
	Date           string  `json:"date"`
	FilingDate     *string `json:"filing_date"`
	CurrencySymbol *string `json:"currency_symbol"`

	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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (IncomeStatementInfo) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*IncomeStatementInfo) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*IncomeStatementInfo) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type IncomeStatementInfos

type IncomeStatementInfos []IncomeStatementInfo

func (*IncomeStatementInfos) UnmarshalEasyJSON

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

type MarketCapitalization

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (MarketCapitalization) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*MarketCapitalization) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MarketCapitalization) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type MarketCapitalizations

type MarketCapitalizations []MarketCapitalization

func (*MarketCapitalizations) UnmarshalEasyJSON

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

type MorningStar

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

func (MorningStar) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (MorningStar) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*MorningStar) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MorningStar) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type MutualFundData

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"`
	TopCountries          interface{}           `json:"Top_Countries"` // do not use seems to be empty
}

func (MutualFundData) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (MutualFundData) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*MutualFundData) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*MutualFundData) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type OutstandingShares

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

func (OutstandingShares) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (OutstandingShares) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*OutstandingShares) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*OutstandingShares) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Performance

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Performance) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Performance) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Performance) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Rating

type Rating string

func (Rating) MarshalEasyJSON

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

func (*Rating) UnmarshalEasyJSON

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

type RegionWeight

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (RegionWeight) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*RegionWeight) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*RegionWeight) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type RegionWeights

type RegionWeights []RegionWeight

func (*RegionWeights) UnmarshalEasyJSON

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

type SectorWeight

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

func (SectorWeight) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (SectorWeight) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*SectorWeight) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SectorWeight) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type SectorWeights

type SectorWeights []SectorWeight

func (*SectorWeights) UnmarshalEasyJSON

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

type SectorWeightsGroup

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

func (SectorWeightsGroup) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (SectorWeightsGroup) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*SectorWeightsGroup) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SectorWeightsGroup) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type SharesOutstanding

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

func (SharesOutstanding) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (SharesOutstanding) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*SharesOutstanding) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SharesOutstanding) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type SharesOutstandings

type SharesOutstandings []SharesOutstanding

func (*SharesOutstandings) UnmarshalEasyJSON

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

type SharesStats

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (SharesStats) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*SharesStats) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SharesStats) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type SplitsDividends

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (SplitsDividends) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*SplitsDividends) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*SplitsDividends) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Symbol

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

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Technicals) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Technicals) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Technicals) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type TopHolding

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

func (TopHolding) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (TopHolding) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*TopHolding) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*TopHolding) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type TopHoldings

type TopHoldings []TopHolding

func (*TopHoldings) UnmarshalEasyJSON

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

type Valuation

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

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Valuation) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Valuation) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Valuation) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type ValueGrowth

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

func (ValueGrowth) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (ValueGrowth) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*ValueGrowth) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*ValueGrowth) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type ValueGrowths

type ValueGrowths []ValueGrowth

func (*ValueGrowths) UnmarshalEasyJSON

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

type Weight

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

func (Weight) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (Weight) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*Weight) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*Weight) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type Weights

type Weights []Weight

func (*Weights) UnmarshalEasyJSON

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

type YearCount

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

func (YearCount) MarshalEasyJSON

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

MarshalEasyJSON supports easyjson.Marshaler interface

func (YearCount) MarshalJSON

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

MarshalJSON supports json.Marshaler interface

func (*YearCount) UnmarshalEasyJSON

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

UnmarshalEasyJSON supports easyjson.Unmarshaler interface

func (*YearCount) UnmarshalJSON

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

UnmarshalJSON supports json.Unmarshaler interface

type YearCounts

type YearCounts []YearCount

func (*YearCounts) UnmarshalEasyJSON

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