AI量化知识树

指数实时行情|全球股票指数实时API

由bqcj7dx7创建,最终由bqcj7dx7 被浏览 8 用户

全球股票指数实时 API 提供了获取全球股票指数实时行情的便捷途径,通过它能快速、准确地获取各指数的最新数据,满足投资者对免费指数 API、免费股票 API、免费实时指数行情的需求。

\

请求K线

"""
**iTick**:是一家数据代理机构,为金融科技公司和开发者提供可靠的数据源APIs,涵盖外汇API、股票API、加密货币API、指数API等,#帮助构建创新的交易和分析工具,目前有免费的套餐可以使用基本可以满足个人量化开发者需求
开源股票数据接口地址
https://github.com/itick-org
申请免费Apikey地址
https://itick.org
""" 

package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.itick.org/indices/kline?region=gb&code=HSI&kType=1"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("accept", "application/json")
	req.Header.Add("token", "you_apikey")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(string(body))

}

订阅实时报价

确保你已经安装了golang.org/x/net/websocket包。如果你的 Go 环境支持go get命令,可以通过以下命令进行安装:go get golang.org/x/net/websocket

"""
**iTick**:是一家数据代理机构,为金融科技公司和开发者提供可靠的数据源APIs,涵盖外汇API、股票API、加密货币API、指数API等,#帮助构建创新的交易和分析工具,目前有免费的套餐可以使用基本可以满足个人量化开发者需求
开源股票数据接口地址
https://github.com/itick-org
申请免费Apikey地址
https://itick.org
""" 

package main

import (
    "fmt"
    "golang.org/x/net/websocket"
    "io"
    "log"
    "net/url"
)

// WebSocket服务器的地址
const websocketServerURL = "wss://api.itick.org/iws"

// 授权信息
type AuthMessage struct {
    Ac  string `json:"ac"`
    Params string `json:"params"`
}

// 用于订阅的消息格式,这里假设订阅一个名为 "your_channel" 的频道
type SubscribeMessage struct {
    Ac  string `json:"ac"`
    Params string `json:"params"`
    Types string `json:"types"`
}

func main() {

    // 用于鉴权
    authMessage := AuthMessage{
        Ac:  "auth",
        Params: "you_apikey",
    }
    
    // 创建订阅消息结构体实例
    subscribeMessage := SubscribeMessage{
        Ac:  "subscribe",
        Params: "HSI",
        Types: "depth,quote",
    }

    // 解析WebSocket服务器地址为URL对象
    u, err := url.Parse(websocketServerURL)
    if err!= nil {
        log.Fatal(err)
    }

    // 创建WebSocket连接
    ws, err := websocket.Dial(u.String(), "", websocketServerURL)
    if err!= nil {
        log.Fatal(err)
    }
    defer ws.Close()
    
    // 用于鉴权
    err = websocket.JSON.Send(ws, authMessage)
    if err!= nil {
        log.Fatal(err)
    }

    // 将订阅消息转换为JSON格式并发送
    err = websocket.JSON.Send(ws, subscribeMessage)
    if err!= nil {
        log.Fatal(err)
    }

    // 循环接收服务器发送的消息
    for {
        var message string
        err := websocket.JSON.Receive(ws, &message)
        if err == io.EOF {
            break
        } else if err!= nil {
            log.Fatal(err)
        }
        fmt.Println("收到消息:", message)
        // 这里可以根据收到的消息内容进行进一步的处理,比如解析JSON数据等
    }
}

\

标签

量化开发
{link}