这个SDK不再被开发,也不再由阿尔帕卡维护.
请看 阿尔帕卡- 贸易- api- js 我们的官方JavaScript/TypesCript客户端 SDK.
类型标记- sdk
类型脚本 SDK https://alpaca.markets 互联网档案馆的存檔,存档日期2013-12-02 REST API和WebSocket流.
特征
- (原始内容存档于2013-10-12) (英语). REST API
- WebSocket 流线
- 内建利率限制( Token Bucket)
- 类型脚本
- 德诺
- 节点 (ESM)
- > 35%测试覆盖率(并不断增长)
- 可动摇的树
- 无害环境管理和CJS支助
- 零依赖 QQ( 您读取此右侧)
- 社区驱动 QQ
自由贡献和公关 对于你的QQ的内容.
安装
国家预防机制:
npm install @alpacahq/typescript-sdk
来自Skypack(或任何支持无害环境管理的CDN):
import { createClient } from "https://cdn.skypack.dev/@alpacahq/typescript-sdk";
使用量
创建客户端
首先,你需要在阿尔帕卡网站创建API密钥. 你可以这么做 这里。一旦您有 API 密钥,您就可以使用它创建客户端.
import { createClient } from "@alpacahq/typescript-sdk";
const client = createClient({
key: "YOUR_API_KEY_ID",
secret: "YOUR_API_SECRET_KEY",
// Or, provide an access token if you're using OAuth.
// accessToken: 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx',
});
默认情况下,客户会向纸张交易环境提出请求(https://paper-api.alpaca.markets) (中文(简体) ). 这是防止意外交易的安全措施.
配置
环境变量
您可以设置以下环境变量来配置客户端 :
APCA_KEY_ID您的 API 密钥 .APCA_KEY_SECRET:你的API秘密.APCA_ACCESS_TOKEN: 您的访问符( 如果使用 OAuth ) .APCA_DEBUG: 启用调试日志 .
如果这些值被设定,客户端会自动使用. 他们不会推翻明确发给他的任何全权证书 createClient。 。 。 .
限制费率
您可以自定义通过通过 tokenBucket 对象 createClient 函数。 此对象应当包含 capacity 财务报告和审定财务报表 fillRate 为限速器.
tokenBucket: {
// Maximum number of tokens that can be stored
capacity: 200,
// Number of tokens refilled per second
fillRate: 60,
}
Bursting是允许的,但如果信使桶是空的,客户端会屏蔽请求. 所有请求都共享标志桶。 如果你有多个客户,他们不会共享同一个桶.
方法
贸易 API
getAccountcreateOrdergetOrdergetOrdersreplaceOrdercancelOrdercancelOrdersgetPositiongetPositionsclosePositionclosePositionsexerciseOptiongetCalendargetClockgetAssetgetAssetsgetWatchlistgetWatchlistscreateWatchlistupdateWatchlistdeleteWatchlistgetPortfolioHistorygetConfigurationsupdateConfigurationsgetActivitygetActivitiesgetOptionsContractgetOptionsContractsgetCorporateActiongetCorporateActionsgetCryptoWalletgetCryptoWalletsgetFeeEstimategetCryptoTransfergetCryptoTransferscreateCryptoTransfergetCryptoWhitelistedAddressgetCryptoWhitelistedAddressesrequestCryptoWhitelistedAddressremoveCryptoWhitelistedAddress
市场数据 API
getStocksCorporateActionsgetLogogetNewsgetStocksMostActivesgetStocksMarketMoversgetStocksQuotesgetStocksQuotesLatestgetStocksBarsgetStocksBarsLatestgetForexRatesgetLatestForexRatesgetStocksSnapshotsgetStocksAuctionsgetStocksConditionsgetStocksExchangeCodesgetStocksTradesgetStocksTradesLatestgetOptionsBarsgetOptionsExchangesgetOptionsSnapshotsgetOptionsTradesgetOptionsTradesLatestgetCryptoBarsgetLatestCryptoBarsgetCryptoQuotesgetCryptoQuotesLatestgetCryptoSnapshotsgetCryptoTradesgetCryptoTradesLatestgetLatestCryptoOrderbooks
getAccount
获取账户信息.
client.getAccount().then(console.log);
createOrder
创建新顺序.
client
.createOrder({
symbol: "AAPL",
qty: 1,
side: "buy",
type: "market",
time_in_force: "day",
})
.then(console.log);
getOrder
使用其身份证获取特定命令.
client
.getOrder({ order_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" })
.then(console.log);
getOrders
根据指定的参数检索命令列表.
client
.getOrders({
status: "open",
limit: 10,
direction: "desc",
})
.then(console.log);
replaceOrder
以更新参数替换已存在的顺序.
client
.replaceOrder({
qty: 2,
limit_price: 150.0,
order_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
})
.then(console.log);
cancelOrder
以其ID取消特定命令.
client
.cancelOrder({ order_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" })
.then(console.log);
cancelOrders
取消所有开放命令.
client.cancelOrders().then(console.log);
getPosition
通过符号或资产ID获取特定位置.
client
.getPosition({
symbol_or_asset_id: "AAPL",
})
.then(console.log);
getPositions
收回所有位置.
client.getPositions().then(console.log);
closePosition
通过符号或资产ID关闭特定位置.
client
.closePosition({
symbol_or_asset_id: "AAPL",
})
.then(console.log);
closePositions
关闭所有位置.
client.closePositions().then(console.log);
exerciseOption
行使期权合同.
client
.exerciseOption({
symbol_or_contract_id: "xxxxxxxx",
})
.then(console.log);
getCalendar
取出市历.
client
.getCalendar({
start: "2023-01-01",
end: "2023-12-31",
})
.then(console.log);
getClock
检索当前市场时钟.
client.getClock().then(console.log);
getAsset
以符号或资产身份获取特定资产.
client
.getAsset({
symbol_or_asset_id: "AAPL",
})
.then(console.log);
getAssets
根据指定的参数获取资产列表.
client
.getAssets({
status: "active",
asset_class: "us_equity",
})
.then(console.log);
getWatchlist
使用ID获取特定的监视列表.
client
.getWatchlist({
watchlist_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
})
.then(console.log);
getWatchlists
取出一切观相.
client.getWatchlists().then(console.log);
createWatchlist
创建新的监视列表.
client
.createWatchlist({
name: "My Watchlist",
symbols: ["AAPL", "GOOGL", "AMZN"],
})
.then(console.log);
updateWatchlist
更新已有的监视列表.
client
.updateWatchlist({
name: "Updated Watchlist",
symbols: ["AAPL", "GOOGL", "MSFT"],
watchlist_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
})
.then(console.log);
deleteWatchlist
用 ID 删除特定的监视列表.
client
.deleteWatchlist({
watchlist_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
})
.then(console.log);
getPortfolioHistory
检索组合历史.
client
.getPortfolioHistory({
period: "1M",
timeframe: "1D",
})
.then(console.log);
getConfigurations
获取账户配置.
client.getConfigurations().then(console.log);
updateConfigurations
更新账户配置.
client
.updateConfigurations({
trade_confirm_email: "all",
suspend_trade: false,
})
.then(console.log);
getActivity
获取特定的活动类型.
client
.getActivity({
activity_type: "FILL",
})
.then(console.log);
getActivities
收回一切活动.
client.getActivities().then(console.log);
getOptionsContract
以符号或合同ID获取特定期权合同.
client
.getOptionsContract({
symbol_or_contract_id: "AAPL230616C00150000",
})
.then(console.log);
getOptionsContracts
根据指定的参数检索期权合同清单.
client
.getOptionsContracts({
underlying_symbols: "AAPL",
expiration_date: "2023-06-16",
})
.then(console.log);
getCorporateAction
通过身份证获取公司的具体行动.
client
.getCorporateAction({
id: "xxxxxxxx",
})
.then(console.log);
getCorporateActions
根据指定的参数检索公司行动清单.
client
.getCorporateActions({
ca_types: "MERGER",
since: "2023-01-01",
until: "2023-12-31",
})
.then(console.log);
getCryptoWallet
按资产获取特定的加密钱包 .
client
.getCryptoWallet({
asset: "BTCUSD",
})
.then(console.log);
getCryptoWallets
获取所有加密钱包 .
client.getCryptoWallets().then(console.log);
getFeeEstimate
获取解密费估计数.
client
.getFeeEstimate({
asset: "BTCUSD",
from_address: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
to_address: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
amount: "0.1",
})
.then(console.log);
getCryptoTransfer
通过ID获取一个特定的加密传输.
client
.getCryptoTransfer({
transfer_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
})
.then(console.log);
getCryptoTransfers
根据指定的参数获取加密传输列表.
client
.getCryptoTransfers({
asset: "BTCUSD",
})
.then(console.log);
createCryptoTransfer
创建新的加密退出.
client
.createCryptoTransfer({
amount: "0.1",
address: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
asset: "BTCUSD",
})
.then(console.log);
getCryptoWhitelistedAddress
获取特定的白名单加密地址.
client
.getCryptoWhitelistedAddress({
address: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
asset: "BTCUSD",
})
.then(console.log);
getCryptoWhitelistedAddresses
获取所有白名单加密地址 .
client.getCryptoWhitelistedAddresses().then(console.log);
requestCryptoWhitelistedAddress
请求一个新的白名单加密地址 .
client
.requestCryptoWhitelistedAddress({
address: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
asset: "BTCUSD",
})
.then(console.log);
removeCryptoWhitelistedAddress
删除一个特定的白名单加密地址.
client
.removeCryptoWhitelistedAddress({
whitelisted_address_id: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
})
.then(console.log);
getStocksCorporateActions
根据指定的参数检索公司行动清单.
client
.getStocksCorporateActions({
symbols: "AAPL",
types: "cash_dividends",
})
.then(console.log);
getLogo
获取特定符号的标志.
client
.getLogo({
symbol: "AAPL",
})
.then(console.log);
getNews
检索最新消息.
client
.getNews({
symbols: "AAPL,TSLA",
limit: 10,
})
.then(console.log);
getStocksMostActives
检索出最活跃种群列表.
client
.getStocksMostActives({
by: "volume",
top: 10,
})
.then(console.log);
getStocksMarketMovers
检索上市动车组名单.
client
.getStocksMarketMovers({
by: "change",
top: 10,
})
.then(console.log);
getStocksQuotes
取取所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出所出.
client
.getStocksQuotes({
symbols: "AAPL,TSLA",
limit: 10,
})
.then(console.log);
getStocksQuotesLatest
检索最新股票引用.
client
.getStocksQuotesLatest({
symbols: "AAPL,TSLA",
})
.then(console.log);
getStocksBars
检索股道列表.
client
.getStocksBars({
symbols: "AAPL,TSLA",
timeframe: "1Day",
limit: 10,
})
.then(console.log);
getStocksBarsLatest
获取最新的股票栏.
client
.getStocksBarsLatest({
symbols: "AAPL,TSLA",
})
.then(console.log);
getForexRates
获取福克斯费率列表 .
client
.getForexRates({
currency_pairs: "EURUSD,GBPUSD",
timeframe: "1Min",
limit: 10,
})
.then(console.log);
getLatestForexRates
获取最新的福克斯率.
client
.getLatestForexRates({
currency_pairs: "EURUSD,GBPUSD",
})
.then(console.log);
getStocksSnapshots
检索股票快照列表.
client
.getStocksSnapshots({
symbols: "AAPL,TSLA",
})
.then(console.log);
getStocksAuctions
检索股票拍卖清单.
client
.getStocksAuctions({
symbols: "AAPL,TSLA",
limit: 10,
})
.then(console.log);
getStocksConditions
检索库存条件清单.
client
.getStocksConditions({
tickType: "trades",
tape: "xxx",
})
.then(console.log);
getStocksExchangeCodes
检索证券交易所代码列表.
client.getStocksExchangeCodes().then(console.log);
getStocksTrades
检索股票交易清单.
client
.getStocksTrades({
symbols: "AAPL,TSLA",
limit: 10,
})
.then(console.log);
getStocksTradesLatest
收回最新股票交易.
client
.getStocksTradesLatest({
symbols: "AAPL,TSLA",
})
.then(console.log);
getOptionsBars
获取选项栏列表.
client
.getOptionsBars({
symbols: "AAPL220617C00270000,TSLA220617C01000000",
timeframe: "1Day",
limit: 10,
})
.then(console.log);
getOptionsExchanges
获取选项交换列表.
client.getOptionsExchanges().then(console.log);
getOptionsSnapshots
获取选项快照列表 .
client
.getOptionsSnapshots({
symbols: "AAPL220617C00270000,TSLA220617C01000000",
})
.then(console.log);
getOptionsTrades
获取选项交易列表 .
client
.getOptionsTrades({
symbols: "AAPL220617C00270000,TSLA220617C01000000",
limit: 10,
})
.then(console.log);
getOptionsTradesLatest
获取最新选项交易.
client
.getOptionsTradesLatest({
symbols: "AAPL220617C00270000,TSLA220617C01000000",
})
.then(console.log);
getCryptoBars
检索密码条列表.
client
.getCryptoBars({
symbols: "BTCUSD,ETHUSD",
timeframe: "1Min",
limit: 10,
})
.then(console.log);
getLatestCryptoBars
获取最新的密码条 .
client
.getLatestCryptoBars({
loc: "US",
symbols: "BTCUSD,ETHUSD",
})
.then(console.log);
getCryptoQuotes
检索密码引用列表.
client
.getCryptoQuotes({
symbols: "BTCUSD,ETHUSD",
limit: 10,
})
.then(console.log);
getCryptoQuotesLatest
获取最新的密码引用 .
client
.getCryptoQuotesLatest({
loc: "US",
symbols: "BTCUSD,ETHUSD",
})
.then(console.log);
getCryptoSnapshots
获取密码快照列表 .
client
.getCryptoSnapshots({
loc: "US",
symbols: "BTCUSD,ETHUSD",
})
.then(console.log);
getCryptoTrades
检索密码交易列表.
client
.getCryptoTrades({
loc: "US",
symbols: "BTCUSD,ETHUSD",
limit: 10,
})
.then(console.log);
getCryptoTradesLatest
获取最新的密码交易.
client
.getCryptoTradesLatest({
loc: "US",
symbols: "BTCUSD,ETHUSD",
})
.then(console.log);
getLatestCryptoOrderbooks
获取最新的密码命令簿.
client
.getLatestCryptoOrderbooks({
loc: "US",
symbols: "BTCUSD,ETHUSD",
})
.then(console.log);
网络安全套
如何运作
待办事宜
频道
待办事宜
实例
待办事宜
需要帮忙吗?
该项目的主要维护者是 @ 117 (韩语)自由接触 偷懒 {\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}或者通过打开这个回放的话题 我很乐意帮你处理任何问题.