Fund and Warrants

GetFundSymbols

Purpose

Retrieves fund symbols data and decodes it into the published Go return model.

Signature

func (c *QuoteClient) GetFundSymbols(req model.FundSymbolsRequest) ([]string, error)

Availability depends on market, instrument, and enabled data access.

Parameters

model.FundSymbolsRequest

SDK fieldTypeRequiredSerializationSDK default and constraints
LangstringNoOmitted if emptyAllowed values: zh_CN, zh_TW, en_US

Returns

([]string, error)

Invocation example

result, err := qc.GetFundSymbols(model.FundSymbolsRequest{
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)
[
  "SPY",
  "QQQ",
  "IWM",
  "VTI",
  "GLD"
]

GetFundContracts

Purpose

Retrieves fund contracts data and decodes it into the published Go return model.

Signature

func (c *QuoteClient) GetFundContracts(req model.FundContractsRequest) ([]model.FundContractInfo, error)

Availability depends on market, instrument, and enabled data access.

Parameters

model.FundContractsRequest

SDK fieldTypeRequiredSerializationSDK default and constraints
LangstringNoOmitted if emptyAllowed values: zh_CN, zh_TW, en_US
Symbols[]stringNoOmitted when emptySymbols

Returns

([]model.FundContractInfo, error). Key fields from model.FundContractInfo:

FieldTypeJSON field
Symbolstringsymbol
Namestringname
Currencystringcurrency
FundTypestringfundType
Inceptionstringinception
NetAssetValfloat64netAssetValue
ExpenseRatiofloat64expenseRatio

Invocation example

result, err := qc.GetFundContracts(model.FundContractsRequest{
	Symbols: []string{"AAPL"},
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)
[
  {
    "symbol": "SPY",
    "name": "SPDR S&P 500 ETF Trust",
    "exchange": "ARCA",
    "market": "US",
    "secType": "FUND",
    "currency": "USD"
  },
  {
    "symbol": "QQQ",
    "name": "Invesco QQQ Trust",
    "exchange": "NASDAQ",
    "market": "US",
    "secType": "FUND",
    "currency": "USD"
  }
]

GetFundQuote

Purpose

Retrieves fund quote data and decodes it into the published Go return model.

Signature

func (c *QuoteClient) GetFundQuote(req model.FundQuoteRequest) ([]model.FundQuote, error)

Availability depends on market, instrument, and enabled data access.

Parameters

model.FundQuoteRequest

SDK fieldTypeRequiredSerializationSDK default and constraints
LangstringNoOmitted if emptyAllowed values: zh_CN, zh_TW, en_US
Symbols[]stringNoOmitted when emptySymbols

Returns

([]model.FundQuote, error). Key fields from model.FundQuote:

FieldTypeJSON field
Symbolstringsymbol
LatestNavfloat64latestNav
Changefloat64change
ChangeRatefloat64changeRate
Datestringdate

Invocation example

result, err := qc.GetFundQuote(model.FundQuoteRequest{
	Symbols: []string{"AAPL"},
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)
[
  {
    "symbol": "SPY",
    "open": 555.20,
    "high": 558.90,
    "low": 553.10,
    "close": 557.80,
    "preClose": 554.60,
    "latestPrice": 557.80,
    "volume": 45678900,
    "status": "NORMAL"
  }
]

GetFundHistoryQuote

Purpose

Retrieves fund history quote data and decodes it into the published Go return model.

Signature

func (c *QuoteClient) GetFundHistoryQuote(req model.FundHistoryQuoteRequest) ([]model.FundHistoryQuote, error)

Availability depends on market, instrument, and enabled data access.

Parameters

model.FundHistoryQuoteRequest

SDK fieldTypeRequiredSerializationSDK default and constraints
LangstringNoOmitted if emptyAllowed values: zh_CN, zh_TW, en_US
Symbols[]stringNoOmitted when emptySymbols
BeginTimeint64NoOmitted when zeroStart time in milliseconds
EndTimeint64NoOmitted when zeroEnd time in milliseconds
LimitintNoOmitted when zeroMaximum number of results

Returns

([]model.FundHistoryQuote, error). Key fields from model.FundHistoryQuote:

FieldTypeJSON field
Symbolstringsymbol
Datestringdate
Navfloat64nav

Invocation example

result, err := qc.GetFundHistoryQuote(model.FundHistoryQuoteRequest{
	Symbols: []string{"AAPL"},
	BeginTime: 1735689600000,
	EndTime: 1738281600000,
	Limit: 20,
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)
[
  {
    "symbol": "SPY",
    "period": "day",
    "items": [
      {"time": 1785384000000, "open": 554.60, "high": 556.20, "low": 552.80, "close": 554.60, "volume": 38912000},
      {"time": 1785470400000, "open": 555.20, "high": 558.90, "low": 553.10, "close": 557.80, "volume": 45678900}
    ]
  }
]

GetWarrantQuote

Purpose

Retrieves warrant quote data and decodes it into the published Go return model.

Signature

func (c *QuoteClient) GetWarrantQuote(req model.WarrantBriefsRequest) ([]model.WarrantBrief, error)

The current server does not support the warrant_briefs endpoint used by the Go SDK.

Availability depends on market, instrument, and enabled data access.

Parameters

model.WarrantBriefsRequest

SDK fieldTypeRequiredSerializationSDK default and constraints
LangstringNoOmitted if emptyAllowed values: zh_CN, zh_TW, en_US
Symbols[]stringNoOmitted when emptySymbols

Returns

([]model.WarrantBrief, error). Key fields from model.WarrantBrief:

FieldTypeJSON field
Symbolstringsymbol
Namestringname
LatestPricefloat64latestPrice
Changefloat64change
ChangeRatefloat64changeRate
Volumeint64volume
Amountfloat64amount
Underlyingstringunderlying
Issuerstringissuer
ExpiryDatestringexpiryDate
StrikePricefloat64strikePrice
WarrantTypestringwarrantType

Invocation example

result, err := qc.GetWarrantQuote(model.WarrantBriefsRequest{
	Symbols: []string{"AAPL"},
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)
[
  {
    "symbol": "13579",
    "name": "TENCENT CW2508A",
    "latestPrice": 0.40,
    "volume": 12340000,
    "strikePrice": 420.0,
    "expiryDate": "2025-08-28"
  }
]

GetWarrantFilter

Purpose

Retrieves warrant filter data and decodes it into the published Go return model.

Signature

func (c *QuoteClient) GetWarrantFilter(req model.WarrantFilterRequest) (*model.WarrantFilterResult, error)

Availability depends on market, instrument, and enabled data access.

Parameters

model.WarrantFilterRequest

SDK fieldTypeRequiredSerializationSDK default and constraints
SymbolstringNoOmitted if emptyUnderlying symbol
PageintNoOmitted when zeroPage number
PageSizeintNoOmitted when zeroItems per page
SortFieldNamestringNoOmitted if emptySort field
SortDirstringNoOmitted if emptyAllowed values: SortDir_No, SortDir_Ascend, SortDir_Descend
IssuerNamestringNoOmitted if emptyIssuer name
ExpireYmstringNoOmitted if emptyExpiry year and month
LangstringNoOmitted if emptyAllowed values: zh_CN, zh_TW, en_US

The SDK sets no sort, page-size, or boundary defaults.

Returns

(*model.WarrantFilterResult, error). Key fields from model.WarrantFilterResult:

FieldTypeJSON field
Totalinttotal
Items[]WarrantBriefitems
PageSizeintpageSize
Pageintpage

WarrantBrief fields

FieldTypeJSON field
Symbolstringsymbol
Namestringname
LatestPricefloat64latestPrice
Changefloat64change
ChangeRatefloat64changeRate
Volumeint64volume
Amountfloat64amount
Underlyingstringunderlying
Issuerstringissuer
ExpiryDatestringexpiryDate
StrikePricefloat64strikePrice
WarrantTypestringwarrantType

Invocation example

result, err := qc.GetWarrantFilter(model.WarrantFilterRequest{
	Symbol: "AAPL",
	Page: 1,
	PageSize: 20,
	Lang: "en_US",
})
if err != nil {
	log.Fatal(err)
}
fmt.Printf("%#v\n", result)
{
  "total": 1,
  "items": [
    {
      "symbol": "13579",
      "name": "TENCENT CW2508A",
      "underlying": "00700",
      "warrantType": "CALL",
      "strikePrice": 420.0,
      "expiryDate": "2025-08-28",
      "issuer": "GS",
      "latestPrice": 0.40,
      "volume": 12340000
    }
  ],
  "pageSize": 20,
  "page": 1
}

Rate limit

The base rate limit is 60 requests/min.



Did this page help you?