|
3 | 3 |
|
4 | 4 | from peewee import (
|
5 | 5 | AutoField,
|
6 |
| - chunked, |
7 | 6 | CharField,
|
8 | 7 | DateTimeField,
|
9 |
| - FloatField, IntegerField, |
| 8 | + FloatField, |
| 9 | + IntegerField, |
10 | 10 | Model,
|
11 | 11 | PostgresqlDatabase as PeeweePostgresqlDatabase,
|
12 | 12 | ModelSelect,
|
13 | 13 | ModelDelete,
|
14 |
| - fn |
| 14 | + fn, |
| 15 | + chunked, |
15 | 16 | )
|
16 | 17 |
|
17 | 18 | from vnpy.trader.constant import Exchange, Interval
|
@@ -180,14 +181,15 @@ def save_bar_data(self, bars: List[BarData], stream: bool = False) -> bool:
|
180 | 181 | with self.db.atomic():
|
181 | 182 | for c in chunked(data, 100):
|
182 | 183 | DbBarData.insert_many(c).on_conflict(
|
183 |
| - update={DbBarData.volume: DbBarData.volume, |
184 |
| - DbBarData.turnover: DbBarData.turnover, |
185 |
| - DbBarData.open_interest: DbBarData.open_interest, |
186 |
| - DbBarData.open_price: DbBarData.open_price, |
187 |
| - DbBarData.high_price: DbBarData.high_price, |
188 |
| - DbBarData.low_price: DbBarData.low_price, |
189 |
| - DbBarData.close_price: DbBarData.close_price |
190 |
| - }, |
| 184 | + update={ |
| 185 | + DbBarData.volume: DbBarData.volume, |
| 186 | + DbBarData.turnover: DbBarData.turnover, |
| 187 | + DbBarData.open_interest: DbBarData.open_interest, |
| 188 | + DbBarData.open_price: DbBarData.open_price, |
| 189 | + DbBarData.high_price: DbBarData.high_price, |
| 190 | + DbBarData.low_price: DbBarData.low_price, |
| 191 | + DbBarData.close_price: DbBarData.close_price |
| 192 | + }, |
191 | 193 | conflict_target=(
|
192 | 194 | DbBarData.symbol,
|
193 | 195 | DbBarData.exchange,
|
@@ -257,6 +259,52 @@ def save_tick_data(self, ticks: List[TickData], stream: bool = False) -> bool:
|
257 | 259 | DbTickData.symbol,
|
258 | 260 | DbTickData.exchange,
|
259 | 261 | DbTickData.datetime,
|
| 262 | + |
| 263 | + |
| 264 | + ), |
| 265 | + ).execute() |
| 266 | + |
| 267 | + for c in chunked(data, 100): |
| 268 | + DbTickData.insert_many(c).on_conflict( |
| 269 | + update={ |
| 270 | + DbTickData.name: DbTickData.name, |
| 271 | + DbTickData.volume: DbTickData.volume, |
| 272 | + DbTickData.turnover: DbTickData.turnover, |
| 273 | + DbTickData.open_interest: DbTickData.open_interest, |
| 274 | + DbTickData.last_price: DbTickData.last_price, |
| 275 | + DbTickData.last_volume: DbTickData.last_volume, |
| 276 | + DbTickData.limit_up: DbTickData.limit_up, |
| 277 | + DbTickData.limit_down: DbTickData.limit_down, |
| 278 | + DbTickData.open_price: DbTickData.open_price, |
| 279 | + DbTickData.high_price: DbTickData.high_price, |
| 280 | + DbTickData.low_price: DbTickData.low_price, |
| 281 | + DbTickData.pre_close: DbTickData.pre_close, |
| 282 | + DbTickData.bid_price_1: DbTickData.bid_price_1, |
| 283 | + DbTickData.bid_price_2: DbTickData.bid_price_2, |
| 284 | + DbTickData.bid_price_3: DbTickData.bid_price_3, |
| 285 | + DbTickData.bid_price_4: DbTickData.bid_price_4, |
| 286 | + DbTickData.bid_price_5: DbTickData.bid_price_5, |
| 287 | + DbTickData.ask_price_1: DbTickData.ask_price_1, |
| 288 | + DbTickData.ask_price_2: DbTickData.ask_price_2, |
| 289 | + DbTickData.ask_price_3: DbTickData.ask_price_3, |
| 290 | + DbTickData.ask_price_4: DbTickData.ask_price_4, |
| 291 | + DbTickData.ask_price_5: DbTickData.ask_price_5, |
| 292 | + DbTickData.bid_volume_1: DbTickData.bid_volume_1, |
| 293 | + DbTickData.bid_volume_2: DbTickData.bid_volume_2, |
| 294 | + DbTickData.bid_volume_3: DbTickData.bid_volume_3, |
| 295 | + DbTickData.bid_volume_4: DbTickData.bid_volume_4, |
| 296 | + DbTickData.bid_volume_5: DbTickData.bid_volume_5, |
| 297 | + DbTickData.ask_volume_1: DbTickData.ask_volume_1, |
| 298 | + DbTickData.ask_volume_2: DbTickData.ask_volume_2, |
| 299 | + DbTickData.ask_volume_3: DbTickData.ask_volume_3, |
| 300 | + DbTickData.ask_volume_4: DbTickData.ask_volume_4, |
| 301 | + DbTickData.ask_volume_5: DbTickData.ask_volume_5, |
| 302 | + DbTickData.localtime: DbTickData.localtime, |
| 303 | + }, |
| 304 | + conflict_target=( |
| 305 | + DbTickData.symbol, |
| 306 | + DbTickData.exchange, |
| 307 | + DbTickData.datetime, |
260 | 308 | ),
|
261 | 309 | ).execute()
|
262 | 310 |
|
|
0 commit comments