Snapshot
Snapshot is a present stock, future, option info. It contain open, high, low, close, change price, average price, volume, total volume, buy price, buy volume, sell price, sell volume and yestoday volume.
Snapshots
>> api.snapshots?
Signature:
api.snapshots(
contracts: List[Union[shioaji.contracts.Option, shioaji.contracts.Future, shioaji.contracts.Stock, shioaji.contracts.Index]],
timeout: int = 30000,
cb: Callable[[shioaji.data.Snapshot], NoneType] = None,
) -> List[shioaji.data.Snapshot]
Docstring:
get contract snapshot info
Example¶
In
contracts = [
api.Contracts.Stocks['2330'],
api.Contracts.Stocks['2317']
]
snapshots = api.snapshots(contracts)
snapshots
Out
[
Snapshot(
ts=1673620200000000000,
code='2330',
exchange='TSE',
open=507.0,
high=509.0,
low=499.0,
close=500.0,
tick_type=<TickType.Sell: 'Sell'>,
change_price=13.5,
change_rate=2.77,
change_type=<ChangeType.Up: 'Up'>,
average_price=502.42,
volume=48,
total_volume=77606,
amount=24000000,
total_amount=38990557755,
yesterday_volume=20963.0,
buy_price=500.0,
buy_volume=122.0,
sell_price=501.0,
sell_volume=1067,
volume_ratio=3.7
),
Snapshot(
ts=1673620200000000000,
code='2317',
exchange='TSE',
open=99.0,
high=99.5,
low=98.6,
close=98.6,
tick_type=<TickType.Sell: 'Sell'>,
change_price=0.0,
change_rate=0.0,
change_type=<ChangeType.Unchanged: 'Unchanged'>,
average_price=98.96,
volume=63,
total_volume=17809,
amount=6211800,
total_amount=1762344817,
yesterday_volume=18537.0,
buy_price=98.6,
buy_volume=607.0,
sell_price=98.7,
sell_volume=4,
volume_ratio=0.96
)
]
To DataFrame
In
df = pd.DataFrame(s.__dict__ for s in snapshots)
df.ts = pd.to_datetime(df.ts)
df
Out
ts | code | exchange | open | high | low | close | tick_type | change_price | change_rate | change_type | average_price | volume | total_volume | amount | total_amount | yesterday_volume | buy_price | buy_volume | sell_price | sell_volume | volume_ratio |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
2023-01-13 14:30:00 | 2330 | TSE | 507 | 509 | 499 | 500 | Sell | 13.5 | 2.77 | Up | 502.42 | 48 | 77606 | 24000000 | 38990557755 | 20963 | 500 | 122 | 501 | 1067 | 3.7 |
2023-01-13 14:30:00 | 2317 | TSE | 99 | 99.5 | 98.6 | 98.6 | Sell | 0 | 0 | Unchanged | 98.96 | 63 | 17809 | 6211800 | 1762344817 | 18537 | 98.6 | 607 | 98.7 | 4 | 0.96 |
Attributes¶
Snapshot
ts (int): TimeStamp
code (str): Contract id
exchange (Exchange): exchange
open (float): open
high (float): high
low (float): low
close (float): close
tick_type (TickType): Close is buy or sell price
{None, Buy, Sell}
change_price (float): change price
change_rate (float): change rate
change_type (ChangeType):
{LimitUp, Up, Unchanged, Dowm, LimitDown}
avgerage_price (float): avgerage of price
volume (int): volume
total_volume (int): total volume
amount (int): Deal amount
total_amount (int): Total deal amount
yestoday_volume (float): Volume of yestoday
buy_price (float): Price of buy
buy_volume (float): Volume of sell
sell_price (float): Price of sell
sell_volume (int): Volume of sell
volume_ratio (float): total_volume/yestoday_volume