印度孟买交易所股票行情数据API接口

1. 历史日线

# Restful API
https://tsanghi.com/api/fin/stock/XBOM/daily?token={token}&ticker={ticker}

默认返回全部历史数据,也可以使用参数start_date和end_date选择特定时间段。

更新时间:收盘后3~4小时。

更新周期:每天。

请求方式:GET。

# 测试:返回不超过10条数据(2年历史)
https://tsanghi.com/api/fin/stock/XBOM/daily?token=demo&ticker=MARUTIIPL&order=2

Request请求参数

参数名称

参数类型

参数选项

参数说明

token

字符串

必选

API Token。登录后获取。

ticker

字符串

必选

股票代码。详见股票清单接口。

start_date

字符串

可选

起始日期。格式“yyyy-mm-dd”,默认:最早日期。

end_date

字符串

可选

终止日期。格式“yyyy-mm-dd”,默认:最新日期。

fmt

字符串

可选

输出格式。支持json和csv两种标准输出格式,默认:json。

columns

字符串

可选

输出字段。支持自定义输出,多个字段以半角逗号分隔,默认:所有字段。

order

整数

可选

按日期排序。0:不排序,1:升序,2:降序,默认:0。

Response响应参数

参数名称

参数类型

参数说明

ticker

字符串

股票代码

date

字符串

日期。格式“yyyy-mm-dd”。

open

小数

开盘价

high

小数

最高价

low

小数

最低价

close

小数

收盘价

volume

小数

成交量

Python示例

import requests

url = f"https://tsanghi.com/api/fin/stock/XBOM/daily?token=demo&ticker=MARUTIIPL"
data = requests.get(url).json()
print(data)

Response示例

2. 增量日线

# Restful API
https://tsanghi.com/api/fin/stock/XBOM/daily/latest?token={token}

不指定日期时,默认返回最新行情。此接口可方便地获取每日增量行情。

更新时间:收盘后3~4小时。

更新周期:每天。

请求方式:GET。

测试:返回不超过10条数据(2年历史)
https://tsanghi.com/api/fin/stock/XBOM/daily/latest?token=demo

Request请求参数

参数名称

参数类型

参数选项

参数说明

token

字符串

必选

API Token。登录后获取。

date

字符串

可选

日期。格式“yyyy-mm-dd”,默认:最新日期。

fmt

字符串

可选

输出格式。支持json和csv两种标准输出格式,默认:json。

columns

字符串

可选

输出字段。支持自定义输出,多个字段以半角逗号分隔,默认:所有字段。

Response响应参数

参数名称

参数类型

参数说明

ticker

字符串

股票代码

date

字符串

日期。格式“yyyy-mm-dd”。

open

小数

开盘价

high

小数

最高价

low

小数

最低价

close

小数

收盘价

volume

小数

成交量

Python示例

import requests

url = f"https://tsanghi.com/api/fin/stock/XBOM/daily/latest?token=demo"
data = requests.get(url).json()
print(data)

Response示例

更多详情
https://tsanghi.com

  • 5
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,以下是基于BP神经网络的高光谱分类+印度松树数据集的代码和注释。这里我假设您已经熟悉了Python和神经网络的基本知识。 ```python # 导入必要的库 import numpy as np import pandas as pd from sklearn.model_selection import train_test_split from sklearn.preprocessing import StandardScaler # 读取数据集 data = pd.read_csv('indian_pines.csv') # 提取特征和标签 X = data.iloc[:, :-1].values y = data.iloc[:, -1].values # 数据标准化 sc = StandardScaler() X = sc.fit_transform(X) # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=0) # 构建神经网络模型 class NeuralNetwork: def __init__(self, layers, alpha=0.1): self.W = [] self.layers = layers self.alpha = alpha for i in range(0, len(layers) - 2): w = np.random.randn(layers[i] + 1, layers[i + 1] + 1) self.W.append(w / np.sqrt(layers[i])) w = np.random.randn(layers[-2] + 1, layers[-1]) self.W.append(w / np.sqrt(layers[-2])) def __sigmoid(self, x): return 1.0 / (1 + np.exp(-x)) def __sigmoid_deriv(self, x): return x * (1 - x) def fit(self, X, y, epochs=1000, displayUpdate=100): X = np.c_[X, np.ones((X.shape[0]))] for epoch in range(0, epochs): for (x, target) in zip(X, y): self.fit_partial(x, target) if epoch == 0 or (epoch + 1) % displayUpdate == 0: loss = self.calculate_loss(X, y) print("[INFO] epoch={}, loss={:.7f}".format(epoch + 1, loss)) def predict(self, X, addBias=True): p = np.atleast_2d(X) if addBias: p = np.c_[p, np.ones((p.shape[0]))] for layer in range(0, len(self.W)): p = self.__sigmoid(np.dot(p, self.W[layer])) return p def fit_partial(self, x, y): A = [np.atleast_2d(x)] for layer in range(0, len(self.W)): net = A[layer].dot(self.W[layer]) out = self.__sigmoid(net) A.append(out) error = A[-1] - y D = [error * self.__sigmoid_deriv(A[-1])] for layer in range(len(A) - 2, 0, -1): delta = D[-1].dot(self.W[layer].T) delta = delta * self.__sigmoid_deriv(A[layer]) D.append(delta) D = D[::-1] for layer in range(0, len(self.W)): self.W[layer] += -self.alpha * A[layer].T.dot(D[layer]) def calculate_loss(self, X, targets): targets = np.atleast_2d(targets) predictions = self.predict(X, addBias=False) loss = 0.5 * np.sum((predictions - targets) ** 2) return loss # 定义神经网络模型的层数和每层的神经元数 nn = NeuralNetwork([200, 100, 16]) # 训练神经网络模型 nn.fit(X_train, y_train, epochs=2000) # 在测试集上评估模型的准确率 predictions = nn.predict(X_test) predictions = np.argmax(predictions, axis=1) accuracy = np.sum(predictions == y_test) / float(len(y_test)) print("Accuracy: {:.2f}%".format(accuracy * 100)) ``` 代码中使用了一个包含3个隐藏层的神经网络模型,每个隐藏层包含分别包含200、100和16个神经元,输出层包含16个神经元(对应16个类别)。将数据集划分为训练集和测试集,并使用标准化处理对数据进行预处理。训练神经网络模型的代码包含了反向传播算法的实现。最后在测试集上评估模型的准确率。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值