在美股市场,盘前盘后交易制度主要为了降低一些突发事件。一些特殊事件可能会影响常规交易时段的股价,造成价格大幅波动。美国大部分的经济数据通常在早上8:30的时候发布,所以就很容易致使股票价格在短时间内出现大幅波动。此外,不少公司都会在盘后公布业绩数据,因此盘后交易往往波动性也非常的大。有时候财报发出,一只股票的交易量和换手率完全可能超过之前正常交易时段。
常规交易时间:
美国东部时间:周一至周五9:30~16:00,午间不休市。 美国夏令时,北京时间(21:30~次日4:00) 美国冬令时,北京时间(22:30~次日5:00) 说明:夏令时为每年3月的第二个星期日至11月的第一个星期日,冬令时为每年11月的第一个星期日至次年3月的第二个星期日。
盘前盘后交易时间:
在正常交易时段外,盘前和盘后交易各家券商的交易时间略有区别。
问:你骗人,为啥我不能下单做盘前盘后?
答:要知道,不是每一个券商都能支持盘前盘后交易,也不是每一个券商盘前盘后的交易时间都一样。
这里有点像...不是每家超市都是24小时,每家超市的开关门时间也有所不同。
盘前交易时间:美东时间上午4:00-9:30 也就是北京时间16:00-21:30 盘后交易时间:美东时间晚上16:00-20:00 也就是北京时间4:00-8:00
盘前盘后交易的特点:
很简单的道理,人都没到齐,当然没什么成交了,一般还是建议在正常交易时间买卖股票。
youquant.com支持富途证券,非常方便就可以获取盘前盘后价格数据,需要注意的是富途证券的美股行情是收费的需要开通权限。
测试使用如下代码:
function main() {
var info = exchange.SetContractType("DIDI.US") // 订阅合约代码 DIDI.US
Log(info) // 打印订阅的合约的详细数据
var ticker = exchange.GetTicker() // 获取DIDI.US合约的行情数据
Log(ticker) // 打印获取到的数据
}
首先我们可以获取到DIDI.US
合约的基本信息。
{
"LongMarginRation": 1,
"PriceTick": 1,
"VolumeMultiple": 1,
"instrument": "DIDI.US",
"ExpireDate": 0,
"ShortMarginRatio": 1,
"IsTrading": true,
"SecType": 3,
"InstrumentID": "DIDI.US",
"InstrumentName": "滴滴"
}
说明订阅这个合约成功了,接下来我们看打印出来的行情数据:
{
"Info": {
"Security": {
"Market": 11,
"Code": "DIDI"
},
"Type": 3,
"IsSuspend": false,
"ListTime": "2021-06-30",
"LotSize": 1,
"PriceSpread": 0.01,
"UpdateTime": "2022-03-21 16:00:00",
"HighPrice": 4.67,
"OpenPrice": 3.85,
"LowPrice": 3.72,
"LastClosePrice": 4.09,
"CurPrice": 4.16,
"Volume": 160102208,
"Turnover": 658218612,
"TurnoverRate": 7.22,
"ListTimestamp": 1625025600,
"UpdateTimestamp": 1647892800,
"AskPrice": 4.33,
"BidPrice": 4.28,
"AskVol": 1000,
"BidVol": 480,
"EnableMargin": false,
"MortgageRatio": null,
"LongMarginInitialRatio": null,
"EnableShortSell": true,
"ShortSellRate": 3.89,
"ShortAvailableVolume": 10000000,
"ShortMarginInitialRatio": 100,
"Amplitude": 23.227,
"AvgPrice": 4.111,
"BidAskRatio": -35.135,
"VolumeRatio": 0.87,
"Highest52WeeksPrice": 18.01,
"Lowest52WeeksPrice": 1.71,
"HighestHistoryPrice": 18.01,
"LowestHistoryPrice": 1.71,
"PreMarket": {
"Price": 4.32,
"HighPrice": 4.55,
"LowPrice": 4.16,
"Volume": 1155534,
"Turnover": 5009094.56,
"ChangeVal": 0.16,
"ChangeRate": 3.846,
"Amplitude": 0.9375
},
"AfterMarket": {
"Price": 4.11,
"HighPrice": 4.18,
"LowPrice": 4.11,
"Volume": 390738,
"Turnover": 1618353.34,
"ChangeVal": -0.05,
"ChangeRate": -1.201,
"Amplitude": 0.16826
},
"SecStatus": 1,
"ClosePrice5Minute": 4.165
},
"High": 4.67,
"Low": 3.72,
"Sell": 4.33,
"Buy": 4.28,
"Last": 4.16,
"Volume": 160102208,
"OpenInterest": 0,
"Time": 1647892800000
}
其中PreMarket
为盘前交易的价格数据,AfterMarket
为盘后交易的价格数据。
盘前交易数据:
"PreMarket": {
"Price": 4.32, # 最新价格
"HighPrice": 4.55, # 最高
"LowPrice": 4.16, # 最低
"Volume": 1155534, # 成交量
"Turnover": 5009094.56,
"ChangeVal": 0.16,
"ChangeRate": 3.846,
"Amplitude": 0.9375
}
盘后交易数据:
"AfterMarket": {
"Price": 4.11,
"HighPrice": 4.18,
"LowPrice": 4.11,
"Volume": 390738,
"Turnover": 1618353.34,
"ChangeVal": -0.05,
"ChangeRate": -1.201,
"Amplitude": 0.16826
}
可以看到,需要的盘前盘后数据在ticker
变量的Info
属性中。如果要取盘前盘后交易数据的Price
属性可以在策略中这样写:
Log("PreMarket.price = ", ticker.Info.PreMarket.Price)
Log("AfterMarket.price = ", ticker.Info.AfterMarket.Price)
就会打印对应的价格数据了。