pyqqq 0.12.177__tar.gz → 0.12.178__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of pyqqq might be problematic. Click here for more details.

Files changed (63) hide show
  1. {pyqqq-0.12.177 → pyqqq-0.12.178}/PKG-INFO +1 -1
  2. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyproject.toml +1 -1
  3. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/backtest/broker.py +1 -0
  4. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/kis/simple.py +5 -0
  5. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/minutes.py +4 -4
  6. {pyqqq-0.12.177 → pyqqq-0.12.178}/README.md +0 -0
  7. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/__init__.py +0 -0
  8. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/ai/__init__.py +0 -0
  9. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/ai/daily.py +0 -0
  10. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/ai/domestic.py +0 -0
  11. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/ai/market_schedule.py +0 -0
  12. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/ai/minute.py +0 -0
  13. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/backtest/__init__.py +0 -0
  14. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/backtest/environment.py +0 -0
  15. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/backtest/logger.py +0 -0
  16. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/backtest/positionprovider.py +0 -0
  17. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/backtest/strategy.py +0 -0
  18. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/backtest/utils.py +0 -0
  19. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/backtest/wallclock.py +0 -0
  20. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/__init__.py +0 -0
  21. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/ebest/__init__.py +0 -0
  22. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/ebest/domestic_stock.py +0 -0
  23. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/ebest/oauth.py +0 -0
  24. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/ebest/simple.py +0 -0
  25. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/ebest/tr_client.py +0 -0
  26. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/helper.py +0 -0
  27. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/kis/__init__.py +0 -0
  28. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/kis/domestic_stock.py +0 -0
  29. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/kis/oauth.py +0 -0
  30. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/kis/overseas_stock.py +0 -0
  31. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/kis/simple_overseas.py +0 -0
  32. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/kis/tr_client.py +0 -0
  33. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/multiprocess_tracker.py +0 -0
  34. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/brokerage/tracker.py +0 -0
  35. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/config.py +0 -0
  36. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/__init__.py +0 -0
  37. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/daily.py +0 -0
  38. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/domestic.py +0 -0
  39. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/index.py +0 -0
  40. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/overseas.py +0 -0
  41. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/realtime.py +0 -0
  42. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/ticks.py +0 -0
  43. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/data/us_stocks.py +0 -0
  44. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/datatypes.py +0 -0
  45. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/executors/__init__.py +0 -0
  46. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/executors/hook.py +0 -0
  47. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/__init__.py +0 -0
  48. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/api_client.py +0 -0
  49. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/array.py +0 -0
  50. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/casting.py +0 -0
  51. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/compute.py +0 -0
  52. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/copycat.py +0 -0
  53. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/daily_tickers.py +0 -0
  54. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/display.py +0 -0
  55. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/kvstore.py +0 -0
  56. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/limiter.py +0 -0
  57. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/local_cache.py +0 -0
  58. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/logger.py +0 -0
  59. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/market_schedule.py +0 -0
  60. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/mock_api.py +0 -0
  61. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/position_classifier.py +0 -0
  62. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/retry.py +0 -0
  63. {pyqqq-0.12.177 → pyqqq-0.12.178}/pyqqq/utils/singleton.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyqqq
3
- Version: 0.12.177
3
+ Version: 0.12.178
4
4
  Summary: Package for quantitative strategy development on the PyQQQ platform
5
5
  License: MIT
6
6
  Author: PyQQQ team
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "pyqqq"
3
- version = "0.12.177"
3
+ version = "0.12.178"
4
4
  description = "Package for quantitative strategy development on the PyQQQ platform"
5
5
  authors = ["PyQQQ team <pyqqq.cs@gmail.com>"]
6
6
  readme = "README.md"
@@ -314,6 +314,7 @@ class TradingBroker(BaseBroker):
314
314
  result = self.data_api.get_historical_daily_data(code, from_date, to_date, adjusted_price=True, data_exchange=DataExchange.KRX)
315
315
  else:
316
316
  result = self.data_api.get_historical_daily_data(code, from_date, to_date, adjusted_price=True, data_exchange=DataExchange.KRX)
317
+ result = result.sort_index(ascending=True)
317
318
  return result
318
319
 
319
320
  def get_orderbook(self, code: str, data_exchange: Optional[DataExchange] = None):
@@ -291,6 +291,7 @@ class KISSimpleDomesticStock:
291
291
  분봉 데이터 검색
292
292
 
293
293
  Note:
294
+ - 시간외 종가, 시간외 단일가 데이터는 포함되어 있지 않습니다.
294
295
  - 두 거래소에서 공통으로 거래정지된 종목의 시가/고가/저가/종가는 모두 동일하며, 그 외 값은 모두 0 입니다.
295
296
  - NXT 매매체결 종목이 아니거나, NXT 거래소에서 거래가 불가능한 종목을 DataExchange.NXT 또는 DataExchange.UN으로 조회하면, 모든 값은 0 입니다.
296
297
 
@@ -307,6 +308,10 @@ class KISSimpleDomesticStock:
307
308
  result = []
308
309
  schedule = get_market_schedule(dtm.date.today(), exchange="KRX" if data_exchange == DataExchange.KRX else "NXT")
309
310
 
311
+ # 만약 현재 시간이 거래소 마감 시간을 지났다면, 마감 시간으로 설정
312
+ if request_time.time() > schedule.close_time:
313
+ request_time = request_datetime.replace(hour=schedule.close_time.hour, minute=schedule.close_time.minute)
314
+
310
315
  while True:
311
316
  r = self.stock_api.inquire_time_itemchartprice(
312
317
  asset_code,
@@ -18,7 +18,7 @@ minuteCache = DiskCacheManager("minute_cache")
18
18
  @minuteCache.memoize()
19
19
  def get_all_minute_data(
20
20
  time: datetime.datetime,
21
- source: str = "ebest",
21
+ source: str = "kis",
22
22
  adjusted: bool = True,
23
23
  exchange: Union[str, DataExchange] = "KRX",
24
24
  ) -> pd.DataFrame:
@@ -31,7 +31,7 @@ def get_all_minute_data(
31
31
 
32
32
  Args:
33
33
  time (datetime.datetime): 조회할 시간
34
- source (str): 데이터를 검색할 API. 'ebest' 또는 'kis'를 지정할 수 있습니다. 기본값은 'ebest'입니다.
34
+ source (str): 데이터를 검색할 API. 'ebest' 또는 'kis'를 지정할 수 있습니다. 기본값은 'kis'입니다.
35
35
  adjusted (bool): 수정주가 여부. 기본값은 True.
36
36
  exchange (Union[str, DataExchange]): 거래소. 기본값은 KRX.
37
37
 
@@ -130,7 +130,7 @@ def get_all_day_data(
130
130
  date: datetime.date,
131
131
  codes: list[str] | str,
132
132
  period: datetime.timedelta = datetime.timedelta(minutes=1),
133
- source: str = "ebest",
133
+ source: str = "kis",
134
134
  adjusted: bool = True,
135
135
  ascending: bool = True,
136
136
  exchange: Union[str, DataExchange] = "KRX",
@@ -146,7 +146,7 @@ def get_all_day_data(
146
146
  date (datetime.date): 데이터를 검색할 날짜.
147
147
  codes (list[str]): 조회할 주식 코드들의 리스트. 최대 20개까지 지정할 수 있습니다.
148
148
  period (datetime.timedelta, optional): 반환된 데이터의 시간 간격. 기본값은 1분입니다. 30초 이상의 값을 30초간격으로 지정할 수 있습니다.
149
- source (str, optional): 데이터를 검색할 API. 'ebest' 또는 'kis'를 지정할 수 있습니다. 기본값은 'ebest'입니다.
149
+ source (str, optional): 데이터를 검색할 API. 'ebest' 또는 'kis'를 지정할 수 있습니다. 기본값은 'kis'입니다.
150
150
  adjusted (bool): 수정주가 여부. 기본값은 True.
151
151
  ascending (bool): 오름차순 여부. 기본값은 True.
152
152
  exchange (Union[str, DataExchange]): 거래소. 기본값은 KRX. (cf. NXT의 경우 해당되지 않는 종목은 Empty DataFrame이 반환됩니다.)
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes