siat 3.10.132__py3-none-any.whl → 3.10.133__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.
Files changed (218) hide show
  1. siat/__init__.py +0 -0
  2. siat/allin.py +0 -0
  3. siat/assets_liquidity.py +0 -0
  4. siat/beta_adjustment.py +0 -0
  5. siat/beta_adjustment_china.py +0 -0
  6. siat/blockchain.py +0 -0
  7. siat/bond.py +0 -0
  8. siat/bond_base.py +0 -0
  9. siat/bond_china.py +0 -0
  10. siat/bond_zh_sina.py +0 -0
  11. siat/capm_beta.py +0 -0
  12. siat/capm_beta2.py +0 -0
  13. siat/compare_cross.py +0 -0
  14. siat/copyrights.py +0 -0
  15. siat/cryptocurrency.py +0 -0
  16. siat/economy.py +0 -0
  17. siat/economy2.py +0 -0
  18. siat/esg.py +0 -0
  19. siat/event_study.py +0 -0
  20. siat/exchange_bond_china.pickle +0 -0
  21. siat/fama_french.py +0 -0
  22. siat/fin_stmt2_yahoo.py +0 -0
  23. siat/financial_base.py +0 -0
  24. siat/financial_statements.py +0 -0
  25. siat/financials.py +0 -0
  26. siat/financials2.py +0 -0
  27. siat/financials_china.py +0 -0
  28. siat/financials_china2.py +0 -0
  29. siat/fund.py +0 -0
  30. siat/fund_china.pickle +0 -0
  31. siat/fund_china.py +0 -0
  32. siat/future_china.py +0 -0
  33. siat/google_authenticator.py +0 -0
  34. siat/grafix.py +0 -0
  35. siat/holding_risk.py +0 -0
  36. siat/luchy_draw.py +0 -0
  37. siat/market_china.py +0 -0
  38. siat/markowitz.py +0 -0
  39. siat/markowitz2.py +0 -0
  40. siat/markowitz2_20250704.py +0 -0
  41. siat/markowitz2_20250705.py +0 -0
  42. siat/markowitz_simple.py +0 -0
  43. siat/ml_cases.py +0 -0
  44. siat/ml_cases_example.py +0 -0
  45. siat/option_china.py +0 -0
  46. siat/option_pricing.py +0 -0
  47. siat/other_indexes.py +0 -0
  48. siat/risk_adjusted_return.py +0 -0
  49. siat/risk_adjusted_return2.py +0 -0
  50. siat/risk_evaluation.py +0 -0
  51. siat/risk_free_rate.py +0 -0
  52. siat/sector_china.py +0 -0
  53. siat/security_price2.py +0 -0
  54. siat/security_prices.py +40 -2
  55. siat/security_trend.py +0 -0
  56. siat/security_trend2.py +0 -0
  57. siat/stock.py +0 -0
  58. siat/stock_advice_linear.py +0 -0
  59. siat/stock_base.py +0 -0
  60. siat/stock_china.py +0 -0
  61. siat/stock_info.pickle +0 -0
  62. siat/stock_prices_kneighbors.py +0 -0
  63. siat/stock_prices_linear.py +0 -0
  64. siat/stock_profile.py +0 -0
  65. siat/stock_technical.py +0 -0
  66. siat/stooq.py +0 -0
  67. siat/transaction.py +0 -0
  68. siat/translate.py +0 -0
  69. siat/valuation.py +0 -0
  70. siat/valuation_china.py +0 -0
  71. siat/var_model_validation.py +0 -0
  72. siat/yf_name.py +0 -0
  73. {siat-3.10.132.dist-info/licenses → siat-3.10.133.dist-info}/LICENSE +0 -0
  74. {siat-3.10.132.dist-info → siat-3.10.133.dist-info}/METADATA +232 -235
  75. siat-3.10.133.dist-info/RECORD +78 -0
  76. {siat-3.10.132.dist-info → siat-3.10.133.dist-info}/WHEEL +1 -1
  77. {siat-3.10.132.dist-info → siat-3.10.133.dist-info}/top_level.txt +0 -1
  78. build/lib/build/lib/siat/__init__.py +0 -75
  79. build/lib/build/lib/siat/allin.py +0 -137
  80. build/lib/build/lib/siat/assets_liquidity.py +0 -915
  81. build/lib/build/lib/siat/beta_adjustment.py +0 -1058
  82. build/lib/build/lib/siat/beta_adjustment_china.py +0 -548
  83. build/lib/build/lib/siat/blockchain.py +0 -143
  84. build/lib/build/lib/siat/bond.py +0 -2900
  85. build/lib/build/lib/siat/bond_base.py +0 -992
  86. build/lib/build/lib/siat/bond_china.py +0 -100
  87. build/lib/build/lib/siat/bond_zh_sina.py +0 -143
  88. build/lib/build/lib/siat/capm_beta.py +0 -783
  89. build/lib/build/lib/siat/capm_beta2.py +0 -887
  90. build/lib/build/lib/siat/common.py +0 -5360
  91. build/lib/build/lib/siat/compare_cross.py +0 -642
  92. build/lib/build/lib/siat/copyrights.py +0 -18
  93. build/lib/build/lib/siat/cryptocurrency.py +0 -667
  94. build/lib/build/lib/siat/economy.py +0 -1471
  95. build/lib/build/lib/siat/economy2.py +0 -1853
  96. build/lib/build/lib/siat/esg.py +0 -536
  97. build/lib/build/lib/siat/event_study.py +0 -815
  98. build/lib/build/lib/siat/fama_french.py +0 -1521
  99. build/lib/build/lib/siat/fin_stmt2_yahoo.py +0 -982
  100. build/lib/build/lib/siat/financial_base.py +0 -1160
  101. build/lib/build/lib/siat/financial_statements.py +0 -598
  102. build/lib/build/lib/siat/financials.py +0 -2339
  103. build/lib/build/lib/siat/financials2.py +0 -1278
  104. build/lib/build/lib/siat/financials_china.py +0 -4433
  105. build/lib/build/lib/siat/financials_china2.py +0 -2212
  106. build/lib/build/lib/siat/fund.py +0 -629
  107. build/lib/build/lib/siat/fund_china.py +0 -3307
  108. build/lib/build/lib/siat/future_china.py +0 -551
  109. build/lib/build/lib/siat/google_authenticator.py +0 -47
  110. build/lib/build/lib/siat/grafix.py +0 -3636
  111. build/lib/build/lib/siat/holding_risk.py +0 -867
  112. build/lib/build/lib/siat/luchy_draw.py +0 -638
  113. build/lib/build/lib/siat/market_china.py +0 -1168
  114. build/lib/build/lib/siat/markowitz.py +0 -2363
  115. build/lib/build/lib/siat/markowitz2.py +0 -3150
  116. build/lib/build/lib/siat/markowitz2_20250704.py +0 -2969
  117. build/lib/build/lib/siat/markowitz2_20250705.py +0 -3158
  118. build/lib/build/lib/siat/markowitz_simple.py +0 -373
  119. build/lib/build/lib/siat/ml_cases.py +0 -2291
  120. build/lib/build/lib/siat/ml_cases_example.py +0 -60
  121. build/lib/build/lib/siat/option_china.py +0 -3069
  122. build/lib/build/lib/siat/option_pricing.py +0 -1925
  123. build/lib/build/lib/siat/other_indexes.py +0 -409
  124. build/lib/build/lib/siat/risk_adjusted_return.py +0 -1576
  125. build/lib/build/lib/siat/risk_adjusted_return2.py +0 -1900
  126. build/lib/build/lib/siat/risk_evaluation.py +0 -2218
  127. build/lib/build/lib/siat/risk_free_rate.py +0 -351
  128. build/lib/build/lib/siat/sector_china.py +0 -4140
  129. build/lib/build/lib/siat/security_price2.py +0 -727
  130. build/lib/build/lib/siat/security_prices.py +0 -3408
  131. build/lib/build/lib/siat/security_trend.py +0 -402
  132. build/lib/build/lib/siat/security_trend2.py +0 -646
  133. build/lib/build/lib/siat/stock.py +0 -4284
  134. build/lib/build/lib/siat/stock_advice_linear.py +0 -934
  135. build/lib/build/lib/siat/stock_base.py +0 -26
  136. build/lib/build/lib/siat/stock_china.py +0 -2095
  137. build/lib/build/lib/siat/stock_prices_kneighbors.py +0 -910
  138. build/lib/build/lib/siat/stock_prices_linear.py +0 -386
  139. build/lib/build/lib/siat/stock_profile.py +0 -707
  140. build/lib/build/lib/siat/stock_technical.py +0 -3305
  141. build/lib/build/lib/siat/stooq.py +0 -74
  142. build/lib/build/lib/siat/transaction.py +0 -347
  143. build/lib/build/lib/siat/translate.py +0 -5183
  144. build/lib/build/lib/siat/valuation.py +0 -1378
  145. build/lib/build/lib/siat/valuation_china.py +0 -2076
  146. build/lib/build/lib/siat/var_model_validation.py +0 -444
  147. build/lib/build/lib/siat/yf_name.py +0 -811
  148. build/lib/siat/__init__.py +0 -75
  149. build/lib/siat/allin.py +0 -137
  150. build/lib/siat/assets_liquidity.py +0 -915
  151. build/lib/siat/beta_adjustment.py +0 -1058
  152. build/lib/siat/beta_adjustment_china.py +0 -548
  153. build/lib/siat/blockchain.py +0 -143
  154. build/lib/siat/bond.py +0 -2900
  155. build/lib/siat/bond_base.py +0 -992
  156. build/lib/siat/bond_china.py +0 -100
  157. build/lib/siat/bond_zh_sina.py +0 -143
  158. build/lib/siat/capm_beta.py +0 -783
  159. build/lib/siat/capm_beta2.py +0 -887
  160. build/lib/siat/common.py +0 -5360
  161. build/lib/siat/compare_cross.py +0 -642
  162. build/lib/siat/copyrights.py +0 -18
  163. build/lib/siat/cryptocurrency.py +0 -667
  164. build/lib/siat/economy.py +0 -1471
  165. build/lib/siat/economy2.py +0 -1853
  166. build/lib/siat/esg.py +0 -536
  167. build/lib/siat/event_study.py +0 -815
  168. build/lib/siat/fama_french.py +0 -1521
  169. build/lib/siat/fin_stmt2_yahoo.py +0 -982
  170. build/lib/siat/financial_base.py +0 -1160
  171. build/lib/siat/financial_statements.py +0 -598
  172. build/lib/siat/financials.py +0 -2339
  173. build/lib/siat/financials2.py +0 -1278
  174. build/lib/siat/financials_china.py +0 -4433
  175. build/lib/siat/financials_china2.py +0 -2212
  176. build/lib/siat/fund.py +0 -629
  177. build/lib/siat/fund_china.py +0 -3307
  178. build/lib/siat/future_china.py +0 -551
  179. build/lib/siat/google_authenticator.py +0 -47
  180. build/lib/siat/grafix.py +0 -3636
  181. build/lib/siat/holding_risk.py +0 -867
  182. build/lib/siat/luchy_draw.py +0 -638
  183. build/lib/siat/market_china.py +0 -1168
  184. build/lib/siat/markowitz.py +0 -2363
  185. build/lib/siat/markowitz2.py +0 -3150
  186. build/lib/siat/markowitz2_20250704.py +0 -2969
  187. build/lib/siat/markowitz2_20250705.py +0 -3158
  188. build/lib/siat/markowitz_simple.py +0 -373
  189. build/lib/siat/ml_cases.py +0 -2291
  190. build/lib/siat/ml_cases_example.py +0 -60
  191. build/lib/siat/option_china.py +0 -3069
  192. build/lib/siat/option_pricing.py +0 -1925
  193. build/lib/siat/other_indexes.py +0 -409
  194. build/lib/siat/risk_adjusted_return.py +0 -1576
  195. build/lib/siat/risk_adjusted_return2.py +0 -1900
  196. build/lib/siat/risk_evaluation.py +0 -2218
  197. build/lib/siat/risk_free_rate.py +0 -351
  198. build/lib/siat/sector_china.py +0 -4140
  199. build/lib/siat/security_price2.py +0 -727
  200. build/lib/siat/security_prices.py +0 -3408
  201. build/lib/siat/security_trend.py +0 -402
  202. build/lib/siat/security_trend2.py +0 -646
  203. build/lib/siat/stock.py +0 -4284
  204. build/lib/siat/stock_advice_linear.py +0 -934
  205. build/lib/siat/stock_base.py +0 -26
  206. build/lib/siat/stock_china.py +0 -2095
  207. build/lib/siat/stock_prices_kneighbors.py +0 -910
  208. build/lib/siat/stock_prices_linear.py +0 -386
  209. build/lib/siat/stock_profile.py +0 -707
  210. build/lib/siat/stock_technical.py +0 -3305
  211. build/lib/siat/stooq.py +0 -74
  212. build/lib/siat/transaction.py +0 -347
  213. build/lib/siat/translate.py +0 -5183
  214. build/lib/siat/valuation.py +0 -1378
  215. build/lib/siat/valuation_china.py +0 -2076
  216. build/lib/siat/var_model_validation.py +0 -444
  217. build/lib/siat/yf_name.py +0 -811
  218. siat-3.10.132.dist-info/RECORD +0 -218
@@ -1,100 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
-
3
- """
4
- 本模块功能:债券,仅用于中国,目前针对交易所债券,仿照股票分析模式
5
- 所属工具包:证券投资分析工具SIAT
6
- SIAT:Security Investment Analysis Tool
7
- 创建日期:2023年5月25日
8
- 最新修订日期:2023年5月25日
9
- 作者:王德宏 (WANG Dehong, Peter)
10
- 作者单位:北京外国语大学国际商学院
11
- 版权所有:王德宏
12
- 用途限制:仅限研究与教学使用,不可商用!商用需要额外授权。
13
- 特别声明:作者不对使用本工具进行证券投资导致的任何损益负责!
14
-
15
- 注意:未完工,暂不使用!
16
- """
17
-
18
- #==============================================================================
19
- #关闭所有警告
20
- import warnings; warnings.filterwarnings('ignore')
21
- from siat.grafix import *
22
- from siat.common import *
23
- from siat.translate import *
24
- from siat.bond_base import *
25
- from siat.bond import *
26
- from siat.stock import *
27
- from siat.security_prices import *
28
- from siat.security_price2 import *
29
- #==============================================================================
30
- import matplotlib.pyplot as plt
31
- #plt.rcParams['figure.figsize']=(12.8,7.2)
32
- plt.rcParams['figure.figsize']=(12.8,6.4)
33
- plt.rcParams['figure.dpi']=300
34
- plt.rcParams['font.size'] = 13
35
- plt.rcParams['xtick.labelsize']=11 #横轴字体大小
36
- plt.rcParams['ytick.labelsize']=11 #纵轴字体大小
37
-
38
- title_txt_size=16
39
- ylabel_txt_size=14
40
- xlabel_txt_size=14
41
- legend_txt_size=14
42
-
43
- #处理绘图汉字乱码问题
44
- import sys; czxt=sys.platform
45
- if czxt in ['win32','win64']:
46
- plt.rcParams['font.sans-serif'] = ['SimHei'] # 设置默认字体
47
- mpfrc={'font.family': 'SimHei'}
48
-
49
- if czxt in ['darwin']: #MacOSX
50
- plt.rcParams['font.family']= ['Heiti TC']
51
- mpfrc={'font.family': 'Heiti TC'}
52
-
53
- if czxt in ['linux']: #website Jupyter
54
- plt.rcParams['font.family']= ['Heiti TC']
55
- mpfrc={'font.family':'Heiti TC'}
56
-
57
- # 解决保存图像时'-'显示为方块的问题
58
- plt.rcParams['axes.unicode_minus'] = False
59
- #==============================================================================
60
- if __name__ =="__main__":
61
- ticker="010107.SS"
62
- ticker="102229.SZ"
63
- ticker2symbol(ticker)
64
-
65
- def ticker2symbol(ticker):
66
- """
67
- 功能:将xxxxxx.SS格式转换为shxxxxxx
68
- """
69
- ticker1=ticker.upper()
70
- exchTag=ticker1[-3:]
71
- bondCode=ticker1[:-3]
72
-
73
- exchList=['.SS','.SZ']
74
- if not (exchTag in exchList):
75
- print(" #Error(): unsupported type of exchange for bond",ticker)
76
- print(" Supported exchange bond suffix:",exchList)
77
- return None
78
-
79
- if exchTag=='.SS':
80
- symbol='sh'+bondCode
81
-
82
- if exchTag=='.SZ':
83
- symbol='sz'+bondCode
84
-
85
- return symbol
86
-
87
- #==============================================================================
88
- if __name__ =="__main__":
89
- ticker="010107.SS"
90
- fromdate="2023-1-1"
91
- todate="2023-5-20"
92
- rtype="Daily Ret%"
93
- datatag=False
94
- power=3
95
- retinfo=exchbond_ret(ticker,fromdate,todate,power=power)
96
-
97
-
98
-
99
-
100
-
@@ -1,143 +0,0 @@
1
- #!/usr/bin/env python
2
- # -*- coding:utf-8 -*-
3
- """
4
- Date: 2024/2/28 23:00
5
- Desc: 新浪财经-债券-沪深债券-实时行情数据和历史行情数据
6
- https://vip.stock.finance.sina.com.cn/mkt/#hs_z
7
- """
8
- import datetime
9
- import re
10
-
11
- import pandas as pd
12
- import requests
13
- from py_mini_racer import py_mini_racer
14
-
15
- from akshare.bond.cons import (
16
- zh_sina_bond_hs_count_url,
17
- zh_sina_bond_hs_payload,
18
- zh_sina_bond_hs_url,
19
- zh_sina_bond_hs_hist_url,
20
- )
21
- from akshare.stock.cons import hk_js_decode
22
- from akshare.utils import demjson
23
- from akshare.utils.tqdm import get_tqdm
24
-
25
-
26
- def get_zh_bond_hs_page_count() -> int:
27
- """
28
- 行情中心首页-债券-沪深债券的总页数
29
- https://vip.stock.finance.sina.com.cn/mkt/#hs_z
30
- :return: 总页数
31
- :rtype: int
32
- """
33
- params = {
34
- "node": "hs_z",
35
- }
36
- res = requests.get(zh_sina_bond_hs_count_url, params=params)
37
- page_count = int(re.findall(re.compile(r"\d+"), res.text)[0]) / 80
38
- if isinstance(page_count, int):
39
- return page_count
40
- else:
41
- return int(page_count) + 1
42
-
43
-
44
- def bond_zh_hs_spot() -> pd.DataFrame:
45
- """
46
- 新浪财经-债券-沪深债券-实时行情数据, 大量抓取容易封IP
47
- https://vip.stock.finance.sina.com.cn/mkt/#hs_z
48
- :return: 所有沪深债券在当前时刻的实时行情数据
49
- :rtype: pandas.DataFrame
50
- """
51
- page_count = get_zh_bond_hs_page_count()
52
- zh_sina_bond_hs_payload_copy = zh_sina_bond_hs_payload.copy()
53
- tqdm = get_tqdm()
54
- big_df = pd.DataFrame()
55
- for page in tqdm(range(1, page_count + 1), leave=False):
56
- zh_sina_bond_hs_payload_copy.update({"page": page})
57
- r = requests.get(zh_sina_bond_hs_url, params=zh_sina_bond_hs_payload_copy)
58
- data_json = demjson.decode(r.text)
59
- temp_df = pd.DataFrame(data_json)
60
- big_df = pd.concat(objs=[big_df, temp_df], ignore_index=True)
61
- big_df.columns = [
62
- '代码',
63
- '-',
64
- '名称',
65
- '最新价',
66
- '涨跌额',
67
- '涨跌幅',
68
- '买入',
69
- '卖出',
70
- '昨收',
71
- '今开',
72
- '最高',
73
- '最低',
74
- '成交量',
75
- '成交额',
76
- '-',
77
- '-',
78
- '-',
79
- '-',
80
- '-',
81
- '-',
82
- ]
83
- big_df = big_df[[
84
- '代码',
85
- '名称',
86
- '最新价',
87
- '涨跌额',
88
- '涨跌幅',
89
- '买入',
90
- '卖出',
91
- '昨收',
92
- '今开',
93
- '最高',
94
- '最低',
95
- '成交量',
96
- '成交额',
97
- ]]
98
- big_df['买入'] = pd.to_numeric(big_df['买入'], errors="coerce")
99
- big_df['卖出'] = pd.to_numeric(big_df['卖出'], errors="coerce")
100
- big_df['昨收'] = pd.to_numeric(big_df['昨收'], errors="coerce")
101
- big_df['今开'] = pd.to_numeric(big_df['今开'], errors="coerce")
102
- big_df['最高'] = pd.to_numeric(big_df['最高'], errors="coerce")
103
- big_df['最低'] = pd.to_numeric(big_df['最低'], errors="coerce")
104
- big_df['最新价'] = pd.to_numeric(big_df['最新价'], errors="coerce")
105
- return big_df
106
-
107
-
108
- def bond_zh_hs_daily(symbol: str = "sh010107") -> pd.DataFrame:
109
- """
110
- 新浪财经-债券-沪深债券-历史行情数据, 大量抓取容易封 IP
111
- https://vip.stock.finance.sina.com.cn/mkt/#hs_z
112
- :param symbol: 沪深债券代码; e.g., sh010107
113
- :type symbol: str
114
- :return: 指定沪深债券代码的日 K 线数据
115
- :rtype: pandas.DataFrame
116
- """
117
- r = requests.get(
118
- zh_sina_bond_hs_hist_url.format(
119
- symbol, datetime.datetime.now().strftime("%Y_%m_%d")
120
- )
121
- )
122
- js_code = py_mini_racer.MiniRacer()
123
- js_code.eval(hk_js_decode)
124
- dict_list = js_code.call(
125
- "d", r.text.split("=")[1].split(";")[0].replace('"', "")
126
- ) # 执行 js 解密代码
127
- if len(dict_list) == 0: return None
128
-
129
- data_df = pd.DataFrame(dict_list)
130
- data_df["date"] = pd.to_datetime(data_df["date"], errors="coerce").dt.date
131
- data_df['open'] = pd.to_numeric(data_df['open'], errors="coerce")
132
- data_df['high'] = pd.to_numeric(data_df['high'], errors="coerce")
133
- data_df['low'] = pd.to_numeric(data_df['low'], errors="coerce")
134
- data_df['close'] = pd.to_numeric(data_df['close'], errors="coerce")
135
- return data_df
136
-
137
-
138
- if __name__ == "__main__":
139
- bond_zh_hs_spot_df = bond_zh_hs_spot()
140
- print(bond_zh_hs_spot_df)
141
-
142
- bond_zh_hs_daily_df = bond_zh_hs_daily(symbol="sh010107")
143
- print(bond_zh_hs_daily_df)