在金融市场中,贵金属一直被视为重要的避险资产和投资工具,其价格波动不仅反映全球经济动态,更影响着投资者的资产组合。对于量化交易团队、交易平台和投资者来说,准确且及时的贵金属行情数据是制定交易策略的关键。
AllTick作为专业的行情数据服务商,自2017年期就一直为海外交易所、CFD平台等提供包括黄金、白银等贵金属在内的实时市场数据。接下来,我们将介绍AllTick的贵金属行情接口的一些基本情况,感兴趣的同学可以注册个账号,我们提供免费试用。
什么是API接口?
API,全称为应用程序接口(Application Programming Interface),是指一组定义好的协议和工具,允许不同的软件系统进行通信和交互。API充当应用程序和外部服务、应用或操作系统之间的桥梁,让开发者能够访问特定功能或数据,而无需了解其内部细节。
以金融数据API为例,AllTick的贵金属实时行情API可以帮助用户直接从AllTick的数据源获取黄金、白银等贵金属的实时价格数据。通过调用API,开发者可以将这些数据集成到他们的交易平台或分析系统中,无需手动获取数据或自行维护数据源。API简化了开发过程,为应用赋能,使得软件之间的协作更为高效。
AllTick的贵金属行情接口能查哪些品种?
Category(分类) | Code | Name(产品名称) |
贵金属 (Metals) | GOLD | 现货黄金/伦敦金(XAUUSD) |
贵金属 (Metals) | Silver | 现货白银/伦敦银(XAGUSD) |
贵金属 (Metals) | Aluminum | 铝(XALUSD) |
贵金属 (Metals) | COPPER | 铜(XCUUSD) |
贵金属 (Metals) | Palladium | 钯(XPDUSD) |
贵金属 (Metals) | Platinum | 铂金(XPTUSD) |
贵金属 (Metals) | Nickel | 镍(XNIUSD) |
贵金属 (Metals) | Lead | 铅(XPBUSD) |
贵金属 (Metals) | Zinc | 锌(XZNUSD) |
更多可查询品种可看这份文件。
什么是实时行情?
简单来说,普通的行情存在15分钟的延时,你看到的行情报价是15分钟以前的。而AllTick的实时行情只有170毫秒的延时,等同于实时报价。
实时行情指的是金融市场中交易资产(如股票、贵金属、外汇等)的即时价格和交易数据。与延时数据不同,实时行情数据会在交易发生的瞬间被传输给用户,确保他们能够获得最新的市场动态。这些数据通常包括资产的买卖报价、成交价格、成交量、最高价、最低价等指标。
在交易和投资中,实时行情数据非常关键。对于量化交易员、投资者和金融机构而言,实时行情能让他们在价格波动发生的第一时间采取行动,从而抓住投资机会或规避风险。比如,贵金属的实时行情可以帮助投资者即时了解黄金和白银的价格变化,从而制定更精确的交易策略。
AllTick的接口支持哪些语言?
我们支持:Go、Java、Java Script、PHP、Python
如何接入AllTick贵金属行情接口?
我们提供了详细的对接文档,你可以先根据文档的教程来接入,如果过程中存在问题,可以随时联系我们客服,我们可以协助你完成对接。
代码示例
下面我们使用接口查询现货白银(XAGUSD)的实时行情价格:
import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; public class HttpJavaExample { public static void main(String[] args) { try { // 查询现货白银(XAGUSD)实时数据 String url = "http://quote.aatest.online/quote-metal-api/price?token=e945d7d9-9e6e-4721-922a-7251a9d311d0-1678159756806&query=%7B%22trace%22%20%3A%20%22java_http_test1%22%2C%22data%22%20%3A%20%7B%22symbol%22%20%3A%20%22XAGUSD%22%7D%7D"; // 创建URL对象 URL obj = new URL(url); // 打开连接 HttpURLConnection con = (HttpURLConnection) obj.openConnection(); // 设置请求方法 con.setRequestMethod("GET"); // 获取响应码 int responseCode = con.getResponseCode(); System.out.println("Response Code: " + responseCode); // 读取响应内容 BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream())); String inputLine; StringBuffer response = new StringBuffer(); while ((inputLine = in.readLine()) != null) { response.append(inputLine); } in.close(); // 输出返回的数据 System.out.println(response.toString()); } catch (Exception e) { e.printStackTrace(); } } }
我们也可以使用WebSockets订阅贵金属的实时价格信息:
import java.io.IOException; import java.lang.reflect.InvocationTargetException; import java.net.URI; import java.net.URISyntaxException; import javax.websocket.*; @ClientEndpoint public class WebSocketJavaExample { private Session session; @OnOpen public void onOpen(Session session) { System.out.println("Connected to server"); this.session = session; } @OnMessage public void onMessage(String message) { System.out.println("Received message: " + message); } @OnClose public void onClose(Session session, CloseReason closeReason) { System.out.println("Disconnected from server"); } @OnError public void onError(Throwable throwable) { System.err.println("Error: " + throwable.getMessage()); } public void sendMessage(String message) throws Exception { this.session.getBasicRemote().sendText(message); } public static void main(String[] args) throws Exception, URISyntaxException, DeploymentException, IOException, IllegalArgumentException, SecurityException, NoSuchMethodException, IllegalAccessException, InvocationTargetException, InstantiationException { // WebSocket服务器的URI,替换为您实际使用的WebSocket端点URL WebSocketContainer container = ContainerProvider.getWebSocketContainer(); URI uri = new URI("wss://quote.aatest.online/quote-metal-ws-api?token=e945d7d9-9e6e-4721-922a-7251a9d311d0-1678159756806"); WebSocketJavaExample client = new WebSocketJavaExample(); container.connectToServer(client, uri); // 发送查询现货白银XAGUSD的消息 String requestMessage = "{" + "\"cmd_id\": 22002, " + "\"seq_id\": 123, " + "\"trace\": \"3baaa938-f92c-4a74-a228-fd49d5e2f8bc-1678419657806\", " + "\"data\": {" + "\"symbol_list\": [" + "{" + "\"code\": \"XAGUSD\", " + "\"depth_level\": 5" + "}" + "]" + "}" + "}"; client.sendMessage(requestMessage); // 等待直到用户输入以关闭程序 System.in.read(); } }