hawk-sdk 0.0.3__py3-none-any.whl → 0.0.4__py3-none-any.whl
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 hawk-sdk might be problematic. Click here for more details.
- hawk_sdk/__init__.py +1 -1
- hawk_sdk/api/__init__.py +2 -0
- hawk_sdk/{futures → api/futures}/main.py +4 -22
- hawk_sdk/{futures → api/futures}/service.py +1 -33
- hawk_sdk/{system → api/system}/main.py +4 -4
- hawk_sdk/{system → api/system}/service.py +1 -1
- hawk_sdk/core/__init__.py +0 -0
- hawk_sdk/core/common/__init__.py +0 -0
- hawk_sdk/core/common/base_enum.py +16 -0
- hawk_sdk/{common → core/common}/data_object.py +4 -0
- {hawk_sdk-0.0.3.dist-info → hawk_sdk-0.0.4.dist-info}/METADATA +1 -1
- hawk_sdk-0.0.4.dist-info/RECORD +19 -0
- hawk_sdk/futures/__init__.py +0 -1
- hawk_sdk-0.0.3.dist-info/RECORD +0 -16
- /hawk_sdk/{common → api/futures}/__init__.py +0 -0
- /hawk_sdk/{futures → api/futures}/repository.py +0 -0
- /hawk_sdk/{system → api/system}/__init__.py +0 -0
- /hawk_sdk/{system → api/system}/repository.py +0 -0
- /hawk_sdk/{common → core/common}/constants.py +0 -0
- {hawk_sdk-0.0.3.dist-info → hawk_sdk-0.0.4.dist-info}/WHEEL +0 -0
- {hawk_sdk-0.0.3.dist-info → hawk_sdk-0.0.4.dist-info}/top_level.txt +0 -0
hawk_sdk/__init__.py
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
from hawk_sdk.futures import Futures
|
|
1
|
+
from hawk_sdk.api.futures import Futures
|
hawk_sdk/api/__init__.py
ADDED
|
@@ -6,10 +6,10 @@ from typing import List
|
|
|
6
6
|
|
|
7
7
|
from google.cloud import bigquery
|
|
8
8
|
|
|
9
|
-
from hawk_sdk.common.constants import PROJECT_ID
|
|
10
|
-
from hawk_sdk.common.data_object import DataObject
|
|
11
|
-
from hawk_sdk.futures.repository import FuturesRepository
|
|
12
|
-
from hawk_sdk.futures.service import FuturesService
|
|
9
|
+
from hawk_sdk.core.common.constants import PROJECT_ID
|
|
10
|
+
from hawk_sdk.core.common.data_object import DataObject
|
|
11
|
+
from hawk_sdk.api.futures.repository import FuturesRepository
|
|
12
|
+
from hawk_sdk.api.futures.service import FuturesService
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class Futures:
|
|
@@ -34,21 +34,3 @@ class Futures:
|
|
|
34
34
|
name="futures_ohlcvo",
|
|
35
35
|
data=self.service.get_ohlcvo(start_date, end_date, interval, hawk_ids)
|
|
36
36
|
)
|
|
37
|
-
|
|
38
|
-
def get_hgf_model_state(self, start_date: str, end_date: str, short_ema: int, long_ema: int) -> DataObject:
|
|
39
|
-
"""Fetch Hawk Global Futures model state data for the given date range.
|
|
40
|
-
|
|
41
|
-
:param start_date: The start date for the data query (YYYY-MM-DD).
|
|
42
|
-
:param end_date: The end date for the data query (YYYY-MM-DD).
|
|
43
|
-
:param short_ema: The short exponential moving average period.
|
|
44
|
-
:param long_ema: The long exponential moving average period.
|
|
45
|
-
:return: A hawk DataObject containing the model state data.
|
|
46
|
-
:raises ValueError: If short EMA period is longer than long EMA period.
|
|
47
|
-
"""
|
|
48
|
-
if short_ema > long_ema:
|
|
49
|
-
raise ValueError("Short EMA period cannot be longer than Long EMA period.")
|
|
50
|
-
|
|
51
|
-
return DataObject(
|
|
52
|
-
name="futures_hgf_model_state",
|
|
53
|
-
data=self.service.get_hgf_model_state(start_date, end_date, short_ema, long_ema)
|
|
54
|
-
)
|
|
@@ -2,12 +2,11 @@
|
|
|
2
2
|
@description: Service layer for processing and normalizing Futures data.
|
|
3
3
|
@author: Rithwik Babu
|
|
4
4
|
"""
|
|
5
|
-
from datetime import datetime, timedelta
|
|
6
5
|
from typing import List, Iterator
|
|
7
6
|
|
|
8
7
|
import pandas as pd
|
|
9
8
|
|
|
10
|
-
from hawk_sdk.futures.repository import FuturesRepository
|
|
9
|
+
from hawk_sdk.api.futures.repository import FuturesRepository
|
|
11
10
|
|
|
12
11
|
|
|
13
12
|
class FuturesService:
|
|
@@ -32,37 +31,6 @@ class FuturesService:
|
|
|
32
31
|
raw_data = self.repository.fetch_ohlcvo(start_date, end_date, interval, hawk_ids)
|
|
33
32
|
return self._normalize_data(raw_data)
|
|
34
33
|
|
|
35
|
-
def get_hgf_model_state(
|
|
36
|
-
self, start_date: str, end_date: str, short_ema: int, long_ema: int
|
|
37
|
-
) -> pd.DataFrame:
|
|
38
|
-
"""Fetches and normalizes data into a pandas DataFrame.
|
|
39
|
-
|
|
40
|
-
:param start_date: The start date for the data query.
|
|
41
|
-
:param end_date: The end date for the data query.
|
|
42
|
-
:param short_ema: The short exponential moving average period.
|
|
43
|
-
:param long_ema: The long exponential moving average period.
|
|
44
|
-
:return: A pandas DataFrame containing the model state data.
|
|
45
|
-
"""
|
|
46
|
-
adjusted_start_date = (
|
|
47
|
-
datetime.strptime(start_date, "%Y-%m-%d") - timedelta(days=long_ema)
|
|
48
|
-
).strftime("%Y-%m-%d")
|
|
49
|
-
|
|
50
|
-
raw_data = self.repository.fetch_ohlcvo(
|
|
51
|
-
start_date=adjusted_start_date,
|
|
52
|
-
end_date=end_date,
|
|
53
|
-
interval="1d",
|
|
54
|
-
hawk_ids=list(range(20000, 20023))
|
|
55
|
-
)
|
|
56
|
-
|
|
57
|
-
raw_df = self._normalize_data(raw_data)
|
|
58
|
-
|
|
59
|
-
raw_df[f'EMA_{short_ema}'] = raw_df['close'].ewm(span=short_ema, adjust=False).mean()
|
|
60
|
-
raw_df[f'EMA_{long_ema}'] = raw_df['close'].ewm(span=long_ema, adjust=False).mean()
|
|
61
|
-
|
|
62
|
-
raw_df = raw_df[raw_df['date'] >= start_date]
|
|
63
|
-
|
|
64
|
-
return raw_df
|
|
65
|
-
|
|
66
34
|
@staticmethod
|
|
67
35
|
def _normalize_data(data: Iterator[dict]) -> pd.DataFrame:
|
|
68
36
|
"""Converts raw data into a normalized pandas DataFrame.
|
|
@@ -6,10 +6,10 @@ from typing import List
|
|
|
6
6
|
|
|
7
7
|
from google.cloud import bigquery
|
|
8
8
|
|
|
9
|
-
from hawk_sdk.common.constants import PROJECT_ID
|
|
10
|
-
from hawk_sdk.common.data_object import DataObject
|
|
11
|
-
from hawk_sdk.system.repository import SystemRepository
|
|
12
|
-
from hawk_sdk.system.service import SystemService
|
|
9
|
+
from hawk_sdk.core.common.constants import PROJECT_ID
|
|
10
|
+
from hawk_sdk.core.common.data_object import DataObject
|
|
11
|
+
from hawk_sdk.api.system.repository import SystemRepository
|
|
12
|
+
from hawk_sdk.api.system.service import SystemService
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
class System:
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"""
|
|
2
|
+
@description: Base enum class.
|
|
3
|
+
@author: Rithwik Babu
|
|
4
|
+
"""
|
|
5
|
+
|
|
6
|
+
from enum import Enum
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
class BaseEnum(str, Enum):
|
|
10
|
+
"""
|
|
11
|
+
Base enum class used by all enum classes.
|
|
12
|
+
|
|
13
|
+
Note: Inheriting from str is necessary to correctly serialize output of enum
|
|
14
|
+
"""
|
|
15
|
+
|
|
16
|
+
pass
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
hawk_sdk/__init__.py,sha256=HD4fvSd8qbGXmLlUEJVs2QTCEruwtFp1jLKIjmlxQN8,41
|
|
2
|
+
hawk_sdk/api/__init__.py,sha256=BD8XgbQ2o4EIzECUu4h6g-9jzpg--BiT6brrnyO4Puc,90
|
|
3
|
+
hawk_sdk/api/futures/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
hawk_sdk/api/futures/main.py,sha256=JcZXm1ZEfGzJAKXidv7ufnn_Vfb75O-E19JtquD7SSo,1553
|
|
5
|
+
hawk_sdk/api/futures/repository.py,sha256=g8jSZCauCKwQYdjpZ3Oqe9NL8GjarDuSXDKpFl0J3vw,3588
|
|
6
|
+
hawk_sdk/api/futures/service.py,sha256=kAzWLKeLXurD1qu8bCaFfjBwugZy2wtpdBmjibrdXmI,1564
|
|
7
|
+
hawk_sdk/api/system/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
8
|
+
hawk_sdk/api/system/main.py,sha256=FdpXaHp5yPFi17M1-1v4LU9vnwywkdYeOelps1hnKr0,1191
|
|
9
|
+
hawk_sdk/api/system/repository.py,sha256=3CfFjNVC0X09TKLh9sfwd5HxeLcb49MRCbvb3Su2Wnk,1642
|
|
10
|
+
hawk_sdk/api/system/service.py,sha256=LOZIfrEBKynJlj8V-4UM4abzVV9ogwUVxM7s2xFXlpo,1262
|
|
11
|
+
hawk_sdk/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
12
|
+
hawk_sdk/core/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
13
|
+
hawk_sdk/core/common/base_enum.py,sha256=ZgC8gZjTzsoJzzdgN2DjYk3dVL_uM2Stuaky5bo6GuQ,267
|
|
14
|
+
hawk_sdk/core/common/constants.py,sha256=KmsNfRVCwGeXEBHfo3TzSaDYJDMtnL-YEQKsO1DnWV8,33
|
|
15
|
+
hawk_sdk/core/common/data_object.py,sha256=f4YO415Zz-lm3QYJQ3sJ4ugH9ZX9Dc7T-JvO4IdeyOw,1073
|
|
16
|
+
hawk_sdk-0.0.4.dist-info/METADATA,sha256=RiX_vkzhUGuMGPlNTZzDSKuKkOi0YCmbYJLcVHXjk2g,112
|
|
17
|
+
hawk_sdk-0.0.4.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
18
|
+
hawk_sdk-0.0.4.dist-info/top_level.txt,sha256=aSjbudHcWSYsKXH9Wg0L1ltJfDOHXzjYFPO3v3cP-SE,9
|
|
19
|
+
hawk_sdk-0.0.4.dist-info/RECORD,,
|
hawk_sdk/futures/__init__.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
from hawk_sdk.futures.main import Futures
|
hawk_sdk-0.0.3.dist-info/RECORD
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
hawk_sdk/__init__.py,sha256=prH_sfjYeRZpBvyYYe5xV8lyn8auj1whvyftpBEHz_Y,37
|
|
2
|
-
hawk_sdk/common/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
-
hawk_sdk/common/constants.py,sha256=KmsNfRVCwGeXEBHfo3TzSaDYJDMtnL-YEQKsO1DnWV8,33
|
|
4
|
-
hawk_sdk/common/data_object.py,sha256=qXsnDf__ePw4DbeF9Pe82B2DY05xsID9uU8vyfCUIe0,977
|
|
5
|
-
hawk_sdk/futures/__init__.py,sha256=g0TubD9lrU2xoF1YvHSkNDjn3XehRT6zrIiSdX8C4no,42
|
|
6
|
-
hawk_sdk/futures/main.py,sha256=AtK4uFKsXnpfnd3vEWWnmLj6xodUpGhuPVC3Nnr3cNM,2471
|
|
7
|
-
hawk_sdk/futures/repository.py,sha256=g8jSZCauCKwQYdjpZ3Oqe9NL8GjarDuSXDKpFl0J3vw,3588
|
|
8
|
-
hawk_sdk/futures/service.py,sha256=7Leuj6FyS6ulFf3kPuA9BO0wmA3bD_eYbl_mM7X4aoI,2811
|
|
9
|
-
hawk_sdk/system/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
|
-
hawk_sdk/system/main.py,sha256=C_PxjpEbTunW1U3pCaxGN8tYSMOCxEOC73My092wBoA,1173
|
|
11
|
-
hawk_sdk/system/repository.py,sha256=3CfFjNVC0X09TKLh9sfwd5HxeLcb49MRCbvb3Su2Wnk,1642
|
|
12
|
-
hawk_sdk/system/service.py,sha256=1QxvONep7E5-oN1Tiq8xoS-gyt4FVJQUed2ZTw_O0TM,1258
|
|
13
|
-
hawk_sdk-0.0.3.dist-info/METADATA,sha256=7r9JRxT17LsAvXs4Fk_SDajl3JxQIX48l3KuTwv946Y,112
|
|
14
|
-
hawk_sdk-0.0.3.dist-info/WHEEL,sha256=OVMc5UfuAQiSplgO0_WdW7vXVGAt9Hdd6qtN4HotdyA,91
|
|
15
|
-
hawk_sdk-0.0.3.dist-info/top_level.txt,sha256=aSjbudHcWSYsKXH9Wg0L1ltJfDOHXzjYFPO3v3cP-SE,9
|
|
16
|
-
hawk_sdk-0.0.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|