pyqqq 0.12.201__tar.gz → 0.12.203__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 (60) hide show
  1. {pyqqq-0.12.201 → pyqqq-0.12.203}/PKG-INFO +1 -1
  2. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyproject.toml +1 -1
  3. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/ebest/tr_client.py +1 -1
  4. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/kis/simple.py +12 -2
  5. {pyqqq-0.12.201 → pyqqq-0.12.203}/README.md +0 -0
  6. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/__init__.py +0 -0
  7. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/backtest/__init__.py +0 -0
  8. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/backtest/broker.py +0 -0
  9. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/backtest/environment.py +0 -0
  10. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/backtest/logger.py +0 -0
  11. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/backtest/positionprovider.py +0 -0
  12. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/backtest/strategy.py +0 -0
  13. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/backtest/utils.py +0 -0
  14. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/backtest/wallclock.py +0 -0
  15. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/__init__.py +0 -0
  16. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/ebest/__init__.py +0 -0
  17. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/ebest/domestic_stock.py +0 -0
  18. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/ebest/oauth.py +0 -0
  19. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/ebest/simple.py +0 -0
  20. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/helper.py +0 -0
  21. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/kis/__init__.py +0 -0
  22. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/kis/domestic_stock.py +0 -0
  23. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/kis/oauth.py +0 -0
  24. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/kis/overseas_stock.py +0 -0
  25. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/kis/simple_overseas.py +0 -0
  26. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/kis/tr_client.py +0 -0
  27. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/multiprocess_tracker.py +0 -0
  28. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/brokerage/tracker.py +0 -0
  29. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/config.py +0 -0
  30. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/__init__.py +0 -0
  31. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/daily.py +0 -0
  32. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/domestic.py +0 -0
  33. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/index.py +0 -0
  34. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/minutes.py +0 -0
  35. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/overseas.py +0 -0
  36. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/realtime.py +0 -0
  37. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/ticks.py +0 -0
  38. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/data/us_stocks.py +0 -0
  39. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/datatypes.py +0 -0
  40. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/executors/__init__.py +0 -0
  41. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/executors/hook.py +0 -0
  42. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/__init__.py +0 -0
  43. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/api_client.py +0 -0
  44. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/array.py +0 -0
  45. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/backoff.py +0 -0
  46. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/casting.py +0 -0
  47. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/compute.py +0 -0
  48. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/copycat.py +0 -0
  49. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/daily_tickers.py +0 -0
  50. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/display.py +0 -0
  51. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/indicators.py +0 -0
  52. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/kvstore.py +0 -0
  53. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/limiter.py +0 -0
  54. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/local_cache.py +0 -0
  55. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/logger.py +0 -0
  56. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/market_schedule.py +0 -0
  57. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/mock_api.py +0 -0
  58. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/position_classifier.py +0 -0
  59. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/retry.py +0 -0
  60. {pyqqq-0.12.201 → pyqqq-0.12.203}/pyqqq/utils/singleton.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pyqqq
3
- Version: 0.12.201
3
+ Version: 0.12.203
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.201"
3
+ version = "0.12.203"
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"
@@ -30,7 +30,7 @@ class EBestTRClient:
30
30
  self.corp_data = corp_data
31
31
  self.session = requests.Session()
32
32
 
33
- @retry(requests.HTTPError, delay=1)
33
+ @retry(requests.RequestException, delay=1)
34
34
  def request(self, path: str, tr_cd: str, tr_cont: str = "N", tr_cont_key: str = "", params: dict = None, body: dict = None, method: str = "POST"):
35
35
  """
36
36
  TR 요청을 보내고 응답을 받는 메서드
@@ -474,11 +474,21 @@ class KISSimpleDomesticStock:
474
474
  r = get_all_last_trades()
475
475
  result = []
476
476
 
477
+ # get_all_last_trades 결과에서 ETN 구분이 없으므로 원래 코드에서 "Q"를 제거한 코드로 검색
478
+ codes = [code[1:] if code.startswith("Q") else code for code in asset_codes]
479
+
477
480
  for item in r:
478
- if item["shcode"] in asset_codes:
481
+ if item["shcode"] in codes:
482
+ # 해당 종목이 ETN 인지 확인
483
+ is_etn = False
484
+ for code in asset_codes:
485
+ if code.startswith("Q") and code[1:] == item["shcode"]:
486
+ is_etn = True
487
+ break
488
+
479
489
  result.append(
480
490
  {
481
- "code": item["shcode"],
491
+ "code": "Q" + item["shcode"] if is_etn else item["shcode"],
482
492
  "current_price": item["price"],
483
493
  "volume": item["volume"],
484
494
  "open_price": item["open"],
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