siat 3.7.25__py3-none-any.whl → 3.7.26__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.
siat/common.py CHANGED
@@ -4860,18 +4860,20 @@ if __name__ == '__main__':
4860
4860
  #==============================================================================
4861
4861
  async def jupyter2pdf2(notebook_dir, notebook_file):
4862
4862
  """
4863
- 将 Jupyter Notebook 转换为 PDF 文件
4864
- 参数:
4865
- notebook_dir (str): Jupyter Notebook文件所在的目录,不含文件名
4866
- notebook_file (str): Jupyter Notebook文件名
4863
+ ===========================================================================
4864
+ 将 Jupyter Notebook 转换为 PDF 文件,异步方式。
4865
+ 主要参数:
4866
+ notebook_dir (str): Jupyter Notebook文件所在的目录,不含文件名
4867
+ notebook_file (str): Jupyter Notebook文件名
4868
+
4867
4869
  输出:
4868
4870
  同时生成A4和A3两种幅面的pdf文件,由使用者自行挑选一个效果最好的。
4869
4871
  返回:
4870
4872
  None
4871
- 注意1:pip install playwright之后可能还要执行playwright install
4873
+
4874
+ 注意1:如果指令异常,可能还要执行python -m playwright install
4872
4875
  注意2:调用本函数的格式是异步await开头
4873
- await convert_notebook_to_pdf(notebook_path, output_pdf_path)
4874
- 注意3:notebook_path和output_pdf_path中可以带路径
4876
+ await jupyter2pdf2(notebook_dir, notebook_file)
4875
4877
  """
4876
4878
 
4877
4879
  # 路径分割符号
siat/economy.py CHANGED
@@ -200,7 +200,20 @@ if __name__=='__main__':
200
200
  def economy_trend(start,end,scope='China',factor='GDP',datatag=False,power=0, \
201
201
  zeroline=False,yline=999,facecolor='papayawhip'):
202
202
  """
203
- 功能:绘制宏观经济指标,单线,有趋势线
203
+ ===========================================================================
204
+ 功能:绘制宏观经济指标,单线,可添加趋势线。
205
+ 主要参数:
206
+ start:开始日期,格式YYYY-MM-DD
207
+ end:结束日期
208
+ scope:经济体名称,默认'China',仅支持一部分经济体
209
+ factor:经济指标,默认'GDP'
210
+ datatag:是否在曲线上标记数据,默认False
211
+ power:绘制趋势线的多项式阶数,默认0阶不绘制
212
+ zeroline:是否绘制水平零线:默认False
213
+ yline:绘制竖线的数值,默认999不绘制
214
+ facecolor:背景颜色,默认小麦黄'papayawhip'
215
+
216
+ 若需比较两个经济体的同一个指标,或同意经济体的两个指标,可用compare_economy
204
217
  """
205
218
  #检查日期期间的合理性
206
219
  valid,_,_=check_period(start,end)
@@ -273,23 +286,31 @@ if __name__=='__main__':
273
286
  power=0; twinx=False; loc1='upper left'; loc2='lower right'
274
287
 
275
288
 
276
- def compare_economy(tickers,measures,fromdate,todate,power=0,twinx=False, \
289
+ def compare_economy(tickers,measures,start,end,power=0,twinx=False, \
277
290
  yline=999, \
278
291
  loc1='upper left',loc2='lower right',facecolor='papayawhip'):
279
292
  """
293
+ ===========================================================================
280
294
  功能:对比绘制折线图:一个国家的两种测度,或两个国家的同一个测度。
281
- 输入:
282
- 国家代码tickers,如果是一个列表且内含两个代码,则认为希望比较两个国家的
295
+ 主要参数:
296
+ tickers:经济体代码。如果是一个列表且内含两个代码,则认为希望比较两个国家的
283
297
  同一个测度指标。如果是一个列表但只内含一个国家代码或只是一个国家代码的字符串,
284
298
  则认为希望比较一个国家的两个测度指标。
285
- 测度指标measures:如果是一个列表且内含两个测度指标,则认为希望比较一个国家的
299
+ measures:经济指标。如果是一个列表且内含两个测度指标,则认为希望比较一个国家的
286
300
  两个测度指标。如果是一个列表但只内含一个测度指标或只是一个测度指标的字符串,
287
301
  则认为希望比较两个国家的同一个测度指标。
288
302
  如果两个判断互相矛盾,以第一个为准。
289
- 开始日期fromdate,结束日期todate。
290
- 输出:绘制经济指标折线图,手动指定是否使用单轴或双轴坐标。
291
- 返回:无
303
+ start:开始日期,格式YYYY-MM-DD;end:结束日期。
304
+
305
+ twinx:是否使用双轴绘图法,默认False
306
+ yline:绘制纵轴竖线的数值,默认999不绘制
307
+ loc1:图例1的位置,默认左上角'upper left'
308
+ loc2:图例2的位置,默认右下角'lower right'
309
+ facecolor:背景颜色,默认'papayawhip'
292
310
  """
311
+ fromdate=start
312
+ todate=end
313
+
293
314
  DEBUG=False
294
315
  if DEBUG:
295
316
  print("DEBUG: tickers =",tickers,"\b, measures =",measures)
siat/event_study.py CHANGED
@@ -114,7 +114,7 @@ def event_study(ticker,event_date, \
114
114
  facecolor="whitesmoke",show_AR='auto',show_RF=False, \
115
115
  loc='best'):
116
116
  """
117
-
117
+ ===========================================================================
118
118
  功能:展示事件研究法的累计异常收益率CAR。
119
119
  参数:
120
120
  ticker:证券代码,可为股票、债券、基金、指数、国债收益率等。可为单个或多个。
@@ -151,6 +151,15 @@ def event_study(ticker,event_date, \
151
151
  show_AR:是否绘图时绘制异常收益率AR
152
152
  默认'auto'(单个ticker时绘制,多个时不绘制)。
153
153
  也可指定True/False强行绘制/不绘制。
154
+
155
+ 示例:美的收购库卡事件对股价的影响
156
+ es=event_study(["000333.SZ"],
157
+ event_date="2021-11-24",
158
+ start='2021-11-20',end='2021-12-25',
159
+ event_window=[1,10],
160
+ post_event_days=15,
161
+ method='CAPM',
162
+ market_index='399001.SZ')
154
163
  """
155
164
 
156
165
  DEBUG=False
siat/financials2.py CHANGED
@@ -108,10 +108,10 @@ def fs_analysis(tickers,fsdates=[],analysis_type='balance sheet', \
108
108
  facecolor='papayawhip',font_size='16px'
109
109
  ):
110
110
  """
111
-
111
+ ===========================================================================
112
112
  功能:分析境外上市公司财报信息
113
113
 
114
- 参数:
114
+ 主要参数:
115
115
  tickers:股票列表,对比分析时需要多个股票,单列财报时仅取第一个股票
116
116
  fsdates:财报日期,可为单个日期或日期列表,注意境外上市公司财报日期与中国大陆的不同
117
117
 
@@ -131,6 +131,47 @@ def fs_analysis(tickers,fsdates=[],analysis_type='balance sheet', \
131
131
  facecolor:背景颜色,默认小麦黄'papayawhip'
132
132
  font_size:标题字体大小,默认'16px'
133
133
 
134
+ 示例:
135
+ #指定上市公司的股票代码:苹果
136
+ ticker='AAPL'
137
+ #指定进行对比的上市公司股票代码:苹果,微软,英伟达,高通
138
+ tickers=['AAPL','MSFT','NVDA','QCOM']
139
+ # 公司基本信息
140
+ profile=fs_analysis(ticker,analysis_type='profile')
141
+ # 证券分红
142
+ dividend=fs_analysis(ticker,analysis_type='profile',category='dividend')
143
+ # 证券分拆
144
+ split=fs_analysis(ticker,analysis_type='profile',category='split')
145
+ # 基本市场指标
146
+ frates=fs_analysis(ticker,analysis_type='profile',category='market')
147
+ # 基本财务比率
148
+ frates=fs_analysis(ticker,analysis_type='profile',category='financial')
149
+ # 一般风险评估
150
+ frates=fs_analysis(ticker,analysis_type='profile',category='risk')
151
+ # ESG风险评估
152
+ frates=fs_analysis(ticker,analysis_type='profile',category='esg')
153
+ # Balance sheet
154
+ bs=fs_analysis(ticker,
155
+ analysis_type='balance sheet')
156
+ # Income statement
157
+ ist=fs_analysis(ticker,
158
+ analysis_type='income statement')
159
+ # Cash flow statement
160
+ cfs=fs_analysis(ticker,
161
+ analysis_type='cash flow statement')
162
+ # Financial summary
163
+ fs=fs_analysis(ticker,
164
+ analysis_type='financial summary')
165
+ # Financial ratios:单个企业
166
+ fs=fs_analysis(ticker,
167
+ analysis_type='financial indicator')
168
+ # Financial ratios:同行对比。注意:美股上市公司年报日期不统一,可比性较差!
169
+ fs=fs_analysis(tickers,
170
+ analysis_type='financial indicator')
171
+ # Dupont identity:同行对比
172
+ fs=fs_analysis(tickers,
173
+ analysis_type='dupont identity')
174
+
134
175
  注意1:仅从雅虎财经获取数据
135
176
  注意2:不同经济体上市公司报表币种可能不同,金额项目仅进行同公司对比,不进行公司间对比
136
177
  注意3:公司间仅对比财务比率和杜邦分析
siat/financials_china2.py CHANGED
@@ -1963,7 +1963,8 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
1963
1963
  loc1='best',loc2='best', \
1964
1964
  facecolor='papayawhip',font_size='16px'):
1965
1965
  """
1966
- 【功能】财务报表分析,仅适用于中国A股,注意不适用于港股和美股(含中概股)
1966
+ ===========================================================================
1967
+ 功能:财务报表分析,仅适用于中国A股,注意不适用于港股和美股(含中概股)
1967
1968
 
1968
1969
  选项tickers:必选
1969
1970
  单只股票:用于单只股票历史财报对比
@@ -2003,7 +2004,46 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
2003
2004
  烟白色(默认):whitesmoke
2004
2005
  其他颜色:参见matplotlib颜色列表,例如淡雅小麦色papayawhip
2005
2006
 
2006
- 【备注】封装说明
2007
+ 示例:
2008
+ 千方科技='002373.SZ'
2009
+ # 企业快照1:大股东
2010
+ sp1=fs_analysis_china(千方科技,analysis_type='profile',category='shareholder')
2011
+ # 企业快照2:主营业务
2012
+ sp2 = fs_analysis_china(千方科技, analysis_type='profile', category='business')
2013
+ # 企业快照3:股利分红
2014
+ sp3=fs_analysis_china(千方科技,analysis_type='profile',category='dividend')
2015
+ # 企业快照4:财务概况
2016
+ sp4 = fs_analysis_china(千方科技, analysis_type='profile', category='financial')
2017
+ # 同行业绩对比
2018
+ # 主要竞争对手:并非所有业务重叠
2019
+ peers=[ #定义主要竞争对手
2020
+ '002279.SZ',#久其软件
2021
+ '002368.SZ',#太极股份
2022
+ '600410.SS',#华胜天成
2023
+ '603927.SS',#中科软
2024
+ '002405.SZ',#四维图新
2025
+ ]
2026
+ players=[千方科技]+peers
2027
+ competitors = fs_analysis_china(players, fsdates='2023-12-31', analysis_type='summary')
2028
+ # 资产负债表分析
2029
+ fsdates=['2023-12-31','2022-12-31','2021-12-31','2020-12-31','2019-12-31']
2030
+ fs_analysis_china(千方科技,fsdates,analysis_type='balance sheet')
2031
+ # 利润表分析
2032
+ fs_analysis_china(千方科技,fsdates,analysis_type='income statement')
2033
+ # 现金流量表分析
2034
+ fs_analysis_china(千方科技,fsdates,analysis_type='cashflow statement')
2035
+ # 杜邦分析
2036
+ dd = fs_analysis_china(千方科技, fsdates='2023-12-31', analysis_type='dupont decompose')
2037
+ # 投资-风险性价比分析
2038
+ # 以一年期国债收益率作为无风险收益率
2039
+ RF=0.01657
2040
+ # 短期分析
2041
+ rar1=security_trend(players,indicator='sharpe',ret_type='Exp Ret%',start='MRM',RF=RF,loc1='lower left')
2042
+ rar2 = security_trend(players, indicator='alpha', ret_type='Exp Ret%', start='MRM', RF=RF, loc1='lower left')
2043
+ # 中长期分析
2044
+ rar3=security_trend(players,indicator='sharpe',ret_type='Exp Ret%',start='L3Y',RF=RF,loc1='lower left')
2045
+
2046
+ 备注:封装说明
2007
2047
  套壳函数1:tickers为股票列表,fsdates为财报日期,可为单个日期或日期列表
2008
2048
  asset_liab_china, income_cost_china, cash_flow_china
2009
2049
 
siat/sector_china.py CHANGED
@@ -910,7 +910,14 @@ if __name__=='__main__':
910
910
  def print_industry_sw(itype='1',numberPerLine=5,colalign='left'):
911
911
  """
912
912
  功能:按照类别打印申万行业列表,名称(代码)
913
- 行业分级itype:F=市场表征, 1=一级行业, 2=二级行业, 3=三级行业, S="风格指数",B=大类风格,C=金创
913
+ 参数:
914
+ itype:行业分级,默认'1'。
915
+ F=市场表征, 1=一级行业, 2=二级行业, 3=三级行业, S="风格指数",B=大类风格,C=金创
916
+ numberPerLine:每行个数,默认5
917
+ colalign:对齐方式,默认'left'
918
+
919
+ 示例:
920
+ print_industry_sw(colalign='left')
914
921
  """
915
922
  df=industry_sw_list()
916
923
  df1=df[df['type']==itype]
@@ -962,7 +969,16 @@ if __name__=='__main__':
962
969
  def print_industry_component_sw(iname,numberPerLine=5,colalign='left', \
963
970
  printout=True,return_result=False):
964
971
  """
965
- 打印申万行业的成分股,名称(代码)
972
+ ===========================================================================
973
+ 功能:打印申万行业的成分股,名称(代码)
974
+ iname:申万行业名称
975
+ numberPerLine:输出时每行显示个数,默认5
976
+ colalign:对齐方式,默认'left'
977
+ printout:是否显示,默认True
978
+ return_result:是否返回结果,默认False
979
+
980
+ 示例:
981
+ print_industry_component_sw(iname="白酒Ⅲ")
966
982
  """
967
983
  try:
968
984
  icode=industry_sw_code(iname)
@@ -1687,12 +1703,33 @@ def rank_industry_sw(idf,measure='Exp Ret%',industries=[], \
1687
1703
  graph=True,axisamp=0.8,px=False,maxitems=32, \
1688
1704
  printout=False,facecolor='papayawhip',font_size='16px'):
1689
1705
  """
1690
- 功能:遍历某类申万指数的某项业绩指标,汇集排序
1691
- 绘图:水平柱状图
1692
- graph=True:是否绘图,一幅图最多绘制maxitems个项目
1693
- axisamp=0.9:调节水平柱子伸缩比例,数值越大越收缩,数值越小越放大,有时也需要负的数值
1706
+ ===========================================================================
1707
+ 功能:遍历某类申万指数的某项业绩指标,汇集排序,绘制水平柱状图
1708
+ 主要参数:
1709
+ idf:行业基础数据,由下列指令生成:
1710
+ idf,idfall=get_industry_data_sw(start,end,sw_level='1')
1711
+ measure:排名指标,默认'Exp Ret%'
1712
+ industries:指定排名哪些特定行业,默认全部行业[]
1713
+ graph:是否绘图,默认True
1714
+ maxitems:一幅图最多绘制maxitems个项目,默认32
1715
+ axisamp=0.9:调节水平柱子伸缩比例,数值越大越收缩,数值越小越放大,有时也需要负数
1694
1716
  px=False:默认不使用plotly express
1695
- printout=False:是否打印结果清单
1717
+ printout:是否打印结果数值,默认False
1718
+ facecolor:背景颜色,默认'papayawhip'
1719
+ font_size:输出表格的字体大小,默认'16px'
1720
+
1721
+ 示例:
1722
+ df1=rank_industry_sw(idf,measure='Exp Ret%',
1723
+ axisamp=0.85)
1724
+ # 选择感兴趣的行业,观察其持有收益率的发展趋势
1725
+ industries1=industry_sw_codes(['电力设备','食品饮料','国防军工','银行'])
1726
+ df1i=compare_industry_sw(idfall,industries1,measure='Exp Ret%')
1727
+
1728
+ df1risk=rank_industry_sw(idf,measure='Exp Ret Volatility%',
1729
+ axisamp=1.6)
1730
+
1731
+ # 全行业,夏普比率横向对比
1732
+ df1sharpe=rank_industry_sw_sharpe(idfall,base_return='Exp Ret%',axisamp=0.8)
1696
1733
  """
1697
1734
  industry_list1=[]
1698
1735
  for i in industries:
@@ -2847,9 +2884,14 @@ if __name__=='__main__':
2847
2884
 
2848
2885
  def find_peers_china(industry='',top=20,rank=20,sw_level='2'):
2849
2886
  """
2850
- 功能:
2851
- 当industry = '',显示申万二级行业分类
2887
+ 功能:找出一个申万行业的上市公司排名
2888
+ 主要参数:
2889
+ industry:申万行业名称。当industry = '',显示的内容由sw_level控制。申万二级行业分类
2852
2890
  sw_level:申万一级行业'1',二级行业'2',三级行业'3',其他'F'、'S'、'B'、'C'
2891
+ top:排名数量,为正数时表示前多少名,可为负数(代表倒数多少名)
2892
+
2893
+ 示例:
2894
+ stocks2=find_peers_china('通信工程及服务',top=10)
2853
2895
  """
2854
2896
 
2855
2897
  # 避免混淆
@@ -3091,15 +3133,25 @@ def industry_scan_china(sw_level='F', \
3091
3133
  printout='smart', \
3092
3134
  facecolor='papayawhip',font_size='16px'):
3093
3135
  """
3094
- 功能:扫描申万行业指数,按照投资收益率排名
3095
- 申万行业分类sw_level:F--市场表征(默认),S--投资风格(策略),B--大类风格,C--金创,
3096
- 1--一级行业,2--二级行业,3--三级行业
3097
- 评估期间start与end:允许MRM/MRQ/MRY(默认)/YTD/L3Y(近三年)/L5Y(近五年)
3098
- base_return:计算sharpe和sortino比率使用的收益率类型。
3099
- 当indicator不是sharpe或sortino比率时,base_return需要与indicator保持一致。
3100
- RF:年化无风险收益率,默认0,可参照一年期国债收益率
3101
- 筛选方式printout:smart--收益前10名与后10名(默认),winner--仅限收益为正的行业,
3102
- loser--仅限收益为负的行业,50--收益前50名,-10--收益后10名,all--所有行业
3136
+ ===========================================================================
3137
+ 功能:扫描申万行业指数,按照投资收益率排名。对网速要求高,可能需要较长时间。
3138
+ 主要参数:
3139
+ sw_level:申万行业分类,默认'F'。
3140
+ F--市场表征(默认),S--投资风格(策略),B--大类风格,C--金创,
3141
+ 1--一级行业,2--二级行业,3--三级行业
3142
+ indicator:行业排名使用的指标,默认'Exp Adj Ret%',可使用RAR指标等
3143
+ start与end:评估期间。允许MRM/MRQ/MRY(默认)/YTD/L3Y(近三年)/L5Y(近五年)
3144
+ base_return:计算sharpe和sortino比率时使用的收益率类型,默认'Exp Adj Ret%'。
3145
+ 当indicator不是sharpe或sortino比率时,base_return需要与indicator保持一致。
3146
+ RF:年化无风险收益率,默认0,可参照一年期国债收益率(Government Bond Yield)
3147
+ printout:筛选方式。
3148
+ smart--收益前10名与后10名(默认),winner--仅限收益为正的行业,
3149
+ loser--仅限收益为负的行业,50--收益前50名,-10--收益后10名,all--所有行业
3150
+ facecolor:背景颜色,默认'papayawhip'
3151
+ font_size:输出表格的字体大小,默认'16px'
3152
+
3153
+ 示例:
3154
+ info=industry_scan_china(sw_level='3',indicator='sharpe',start='MRY')
3103
3155
  """
3104
3156
  #indicator='Exp Ret%'
3105
3157
 
@@ -3573,8 +3625,26 @@ def stock_peers_em(ticker='',indicator='',rank=10, \
3573
3625
  font_size="16px",facecolor="papayawhip", \
3574
3626
  numberPerLine=5):
3575
3627
  """
3576
- 功能:基于东方财富行业分类,查找股票所属的行业以及主要同行
3628
+ 功能:基于东方财富行业分类,查找股票所属的行业板块以及主要同行排名
3577
3629
  特点:行业分类较粗糙,略胜于无
3630
+ 主要参数:
3631
+ ticker:股票代码,默认''显示所有板块名称
3632
+ indicator:排名指标,默认''。例如:"股价"、"流动性"、"市净率"、"市盈率"
3633
+ rank:排名数量,默认10前十名
3634
+ force_show_stock:是否显示股票信息,默认False
3635
+ font_size:表格字体大小,默认"16px"
3636
+ facecolor:输出表格的背景颜色,默认"papayawhip",
3637
+ numberPerLine:输出表格中的每行显示个数,默认5
3638
+
3639
+ 示例:
3640
+ industries=stock_peers_em() # 显示东方财富所有行业板块分类
3641
+ # 显示002373.SZ在所属东方财富板块中的股价排名
3642
+ peers=stock_peers_em(ticker="002373.SZ",
3643
+ indicator="股价",
3644
+ force_show_stock=True)
3645
+ peers=stock_peers_em(ticker="002373.SZ",
3646
+ indicator="流动性",
3647
+ force_show_stock=True)
3578
3648
  """
3579
3649
  if indicator in ["股价","股票价格","价格","收盘价","价位"]:
3580
3650
  indicator="最新价"
@@ -3876,7 +3946,12 @@ if __name__ == '__main__':
3876
3946
 
3877
3947
  def get_stock_industry_sw(ticker):
3878
3948
  """
3949
+ ===========================================================================
3879
3950
  功能:抓取股票的申万行业分类名称
3951
+ 参数:
3952
+ ticker:A股股票代码
3953
+
3954
+ 返回:申万行业分类名称
3880
3955
  """
3881
3956
 
3882
3957
  import requests
@@ -3908,7 +3983,11 @@ if __name__ == '__main__':
3908
3983
 
3909
3984
  def stock_peers_sw(ticker):
3910
3985
  """
3911
- 功能:找出股票的申万行业分类及其同行
3986
+ ===========================================================================
3987
+ 功能:显示股票的申万行业分类及其同行
3988
+ 参数:
3989
+ ticker:A股股票代码
3990
+ 返回:无
3912
3991
  """
3913
3992
 
3914
3993
  try:
@@ -3967,6 +4046,15 @@ if __name__ == '__main__':
3967
4046
  index_intersection_sw(sw_index)
3968
4047
 
3969
4048
  def index_intersection_sw(sw_index=[]):
4049
+ """
4050
+ ===========================================================================
4051
+ 功能:寻找多个申万指数中共同的成分股
4052
+ 主要参数:
4053
+ sw_index:申万行业分类指数列表,至少两个指数。
4054
+ 返回值:无
4055
+ 示例:
4056
+ sw_index=['绩优股指数','大盘指数','中市盈率指数','高市净率指数']
4057
+ """
3970
4058
  #寻找多个申万指数中共同的成分股
3971
4059
  if len(sw_index)==0:
3972
4060
  print(" #Warning(stock_intersection_sw): no index found for intersection")
siat/security_trend2.py CHANGED
@@ -157,9 +157,10 @@ def security_trend(ticker,indicator='Close',adjust='', \
157
157
  facecolor='papayawhip'):
158
158
 
159
159
  """
160
+ ===========================================================================
160
161
  功能:组合指令,分析证券指标走势,支持多个证券、多个指标和多种绘图方式。
161
- 参数描述:
162
- ticker参数:证券标示,支持多个经济体的证券,包括股票、基金、部分欧美衍生品。
162
+ 主要参数:
163
+ ticker:证券代码,支持多个经济体的证券,包括股票、基金、部分欧美衍生品。
163
164
  股票:单一股票,股票列表,支持全球主要证券市场的股票。
164
165
  债券:因数据来源关系,本指令暂不支持债券,计划首先支持最活跃的沪深可转债。
165
166
  基金:因数据来源关系,仅支持下列市场的部分基金:
@@ -169,7 +170,7 @@ def security_trend(ticker,indicator='Close',adjust='', \
169
170
  投资组合:使用字典表示法,成分股仅支持全球交易所上市的主要股票(限同币种)。
170
171
  投资组合仅支持RAR指标和CAPM贝塔系数,其他指标暂不支持。
171
172
 
172
- indicator参数:支持证券价格、收益率、风险指标、估值指标、RAR指标和CAPM贝塔系数。
173
+ indicator:支持证券价格、收益率、风险指标、估值指标、RAR指标和CAPM贝塔系数。
173
174
  证券价格:支持开盘价、收盘价、最高最低价。
174
175
  收益率:支持基本的日收益率、滚动收益率和扩展收益率。滚动收益率支持周、月、季度和年。
175
176
  风险指标:支持滚动收益率和扩展收益率的标准差(波动风险)和下偏标准差(损失风险)。
@@ -177,53 +178,64 @@ def security_trend(ticker,indicator='Close',adjust='', \
177
178
  估值指标:支持市盈率、市净率和市值。仅支持中国内地、中国香港、美股和波兰上市的股票。
178
179
  市值指标不支持市场指数。
179
180
 
180
- start参数:指定分析的开始日期或期间。日期格式:YYYY-mm-dd
181
+ start:指定分析的开始日期或期间。日期格式:YYYY-mm-dd
181
182
  作为期间时,支持最近的1个月、1个季度、半年、1年、2年、3年、5年、8年、10年或今年以来。
182
183
  省略时默认为最近的1个月。
183
- end参数:指定分析的结束日期。日期格式:YYYY-mm-dd。省略时默认为今日。
184
+ end:指定分析的结束日期。日期格式:YYYY-mm-dd。省略时默认为今日。
184
185
 
185
- attention_value参数:绘图时绘制一条水平线,用以强调一个阈值。默认不绘制。
186
- average_value参数:开关打开时,绘图时绘制一条均值线,仅适用于绘制单条曲线。默认关闭。
186
+ attention_value:绘图时绘制一条水平线,用以强调一个阈值。默认不绘制。
187
+ average_value:开关打开时,绘图时绘制一条均值线,仅适用于绘制单条曲线。默认关闭。
187
188
 
188
189
  attention_point:绘制横轴竖线,可为单个横轴点或列表,默认不绘制
189
190
  attention_point_area:为两个横轴点的列表,其间区域着色,默认不绘制。
190
191
  可与attention_point配合使用。
191
192
 
192
- kline参数:开关打开时,绘制一条K线图,仅适用于单只股票。默认关闭。
193
+ kline:开关打开时,绘制一条K线图,仅适用于单只股票。默认关闭。
193
194
  kline_demo参数:与kline开关同时打开时,绘制一条K线图原理演示图,仅适用于单只股票。
194
195
  mav参数:仅当kline开关打开时有效,用于指定K线图中单条或多条移动平均线的天数。
195
196
 
196
- stock_dividend和stock_split参数:显示一只股票的分红和分拆历史,支持全球主要市场的股票。
197
- 注意:本参数需要访问雅虎财经网站获取数据。
197
+ stock_dividend和stock_split:显示一只股票的分红和分拆历史,支持全球主要市场的股票。
198
+ 注意:本参数需要特殊访问获取数据。
198
199
 
199
- ret_type、RF、regression_period和market_index参数:仅用于计算RAR指标和CAPM贝塔系数。
200
- ret_type参数:指定计算RAR的收益率类型,支持滚动和扩展收益率,但不建议混合使用。
201
- RF参数:指定年化无风险利率,非百分比数值。
202
- regression_period参数:指定CAPM回归时的日期期间跨度,为日历日(自然日),默认一年。
203
- market_index参数:用于计算CAPM回归贝塔系数时的市场收益率。
200
+ ret_type、RF、regression_period和market_index:仅用于计算RAR指标和CAPM贝塔系数。
201
+ ret_type:指定计算RAR的收益率类型,支持滚动和扩展收益率,但不建议混合使用。
202
+ RF:指定年化无风险利率,非百分比数值。
203
+ regression_period:指定CAPM回归时的日期期间跨度,为日历日(自然日),默认一年。
204
+ market_index:用于计算CAPM回归贝塔系数时的市场收益率。
204
205
  系统能够自动识别全球主要证券市场的指数,其他证券市场可由人工指定具体的市场指数代码。
205
206
 
206
- graph参数:指定是否将分析结果绘制曲线,默认绘制。
207
- twinx参数:指定绘图时是否使用双轴绘图法,仅用于两条曲线且其数量级差异较大时。
208
- loc1和loc2参数:用于指定绘图时图例的位置,包括左右上角(下角、中间)、上下中间或图中央。
207
+ graph:指定是否将分析结果绘制曲线,默认绘制。
208
+ twinx:指定绘图时是否使用双轴绘图法,仅用于两条曲线且其数量级差异较大时。
209
+ loc1和loc2:用于指定绘图时图例的位置,包括左右上角(下角、中间)、上下中间或图中央。
209
210
  loc1用于指定非双轴图或双轴图中第1条曲线图例的位置,loc2用于指定双轴图中第2条曲线的位置。
210
- datatag参数:用于指定绘图时是否绘制数据标签,仅当数据稀疏时适用,默认关闭。
211
- power参数:用于指定绘图时是否使用多项式绘制趋势线,可指定多项式的阶数,1为直线,默认不绘制。
212
- smooth参数:指定绘图时是否对曲线进行平滑处理,仅适用于少量数据构造的曲线,默认打开。
213
- date_range参数:绘制时序图时强制横轴的开始和结束日期,默认关闭。
214
- date_freq参数:绘制时序图时强制横轴的日期间隔大小。默认关闭,由系统自动决定。
215
- annotate参数:绘图时是否将曲线名称标注在曲线末端。默认关闭(使用传统图例),以避免重叠。
216
-
217
- preprocess参数:绘图前是否进行数据预处理,默认不使用。
211
+ datatag:用于指定绘图时是否绘制数据标签,仅当数据稀疏时适用,默认关闭。
212
+ power:用于指定绘图时是否使用多项式绘制趋势线,可指定多项式的阶数,1为直线,默认不绘制。
213
+ smooth:指定绘图时是否对曲线进行平滑处理,仅适用于少量数据构造的曲线,默认打开。
214
+ date_range:绘制时序图时强制横轴的开始和结束日期,默认关闭。
215
+ date_freq:绘制时序图时强制横轴的日期间隔大小。默认关闭,由系统自动决定。
216
+ annotate:绘图时是否将曲线名称标注在曲线末端。默认关闭(使用传统图例),以避免重叠。
217
+
218
+ preprocess:绘图前是否进行数据预处理,默认不使用。
218
219
  预处理方式:支持标准化、正态化、取对数和同步缩放法,常用的为同步缩放法。
219
- scaling_option参数:指定同步缩放法的对齐选项,支持均值、最小值、起点值、百分比和变化率方法。
220
+ scaling_option:指定同步缩放法的对齐选项,支持均值、最小值、起点值、百分比和变化率方法。
220
221
  其中,百分比和变化率方法常用。适用于数值差异大的价格走势对比分析,其他指标不适用或效果不明显。
221
222
 
222
- printout参数:仅适用于有相关功能的指标(例如RAR)打开结果表格输出,默认关闭。
223
+ printout:仅适用于有相关功能的指标(例如RAR)打开结果表格输出,默认关闭。
223
224
 
224
- source参数:指定证券基础数据来源,默认由系统决定。当系统找到的数据不理想时,可手动指定。
225
+ source:指定证券基础数据来源,默认由系统决定。当系统找到的数据不理想时,可手动指定。
225
226
  若指定雅虎财经数据源,需要拥有访问该网站的权限。
227
+
228
+ 示例:
229
+ stocks1=find_peers_china('门户网站',top=10)
230
+ df=security_trend(stocks1,
231
+ indicator='sharpe',
232
+ start='MRY',
233
+ graph=False,printout=True)
234
+ df=security_trend(stocks1,
235
+ indicator='Exp Ret%',
236
+ start='MRY')
226
237
  """
238
+
227
239
  DEBUG=False
228
240
 
229
241
  #critical_value=attention_value
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: siat
3
- Version: 3.7.25
3
+ Version: 3.7.26
4
4
  Summary: Securities Investment Analysis Tools (siat)
5
5
  Home-page: https://pypi.org/project/siat/
6
6
  Author: Prof. WANG Dehong, International Business School, Beijing Foreign Studies University
@@ -38,6 +38,7 @@ Requires-Dist: bottleneck
38
38
  Requires-Dist: translate
39
39
  Requires-Dist: translators
40
40
  Requires-Dist: nbconvert
41
+ Requires-Dist: ipywidgets
41
42
  Requires-Dist: playwright
42
43
  Dynamic: author
43
44
  Dynamic: author-email
@@ -19,7 +19,7 @@ siat/capm_beta.py,sha256=cxXdRVBQBllhbfz1LeTJAIWvyRYhW54nhtNUXv4HwS0,29063
19
19
  siat/capm_beta2.py,sha256=-ZYYp1HK7SkfTR3vBKZ0QVC4Q_tbST2O4MGbX_V77J0,32031
20
20
  siat/capm_beta_test.py,sha256=ImR0c5mc4hIl714XmHztdl7qg8v1E2lycKyiqnFj6qs,1745
21
21
  siat/cmat_commons.py,sha256=Nj9Kf0alywaztVoMVeVVL_EZk5jRERJy8R8kBw88_Tg,38116
22
- siat/common.py,sha256=JZyGEXHevW6NovmfvrMCR5fwVovO8d_wRb7MLHFiBvM,179306
22
+ siat/common.py,sha256=yjSLtpivbjSF_z3mD2j8VDxzl4g9SVeZPZHhcvM9onQ,179343
23
23
  siat/compare_cross.py,sha256=3iP9TH2h3w27F2ARZc7FjKcErYCzWRc-TPiymOyoVtw,24171
24
24
  siat/compare_cross_test.py,sha256=xra5XYmQGEtfIZL2h-GssdH2hLdFIhG3eoCrkDrL3gY,3473
25
25
  siat/concepts_iwencai.py,sha256=m1YEDtECRT6FqtzlKm91pt2I9d3Z_XoP59BtWdRdu8I,3061
@@ -29,11 +29,11 @@ siat/cryptocurrency.py,sha256=ImkP0Z3QsKNrHrA07mZM46RvGAWb36AD14cNaiv_pCg,27829
29
29
  siat/cryptocurrency_test.py,sha256=3AikTNJ7j-HwLGLIYEfyXZ3bLVuLeru9mwiwHQi2SdA,2669
30
30
  siat/derivative.py,sha256=qV8n09799eqLc26ojR6vN5n_X-xd7rGwdYjgq-wBih8,41483
31
31
  siat/economy-20230125.py,sha256=vxZZlPnLkh7SpGMVEPLwxjt0yYLSVmdZrO-s2NYLyoM,73848
32
- siat/economy.py,sha256=8mo6J5c73CD0hF2LmX89LaYeePwTjZgJ1CrNw13AIUA,78632
32
+ siat/economy.py,sha256=KYFYa7rYmgiz6n9_y_z05WdP44H3DjlP9J5rv_Pw8ig,79678
33
33
  siat/economy_test.py,sha256=6vjNlPz7W125pJb7simCddobSEp3jmLIMvVkLRZ7zW8,13339
34
34
  siat/esg.py,sha256=GMhaonIKtvOK83rhpQUH5aJt2OL3HQBSVfD__Yw-0oo,19040
35
35
  siat/esg_test.py,sha256=Z9m6GUt8O7oHZSEG9aDYpGdvvrv2AiRJdHTiU6jqmZ0,2944
36
- siat/event_study.py,sha256=aDq-mrwHw3qw0fDJbAWovz1kppwE6BSeuwoMfWdSYQY,33892
36
+ siat/event_study.py,sha256=30ji4TP4xztNVjQdkBlwWstkCIGg6McTYe8dWlbloTg,34341
37
37
  siat/exchange_bond_china.pickle,sha256=zDqdPrFacQ0nqjP_SuF6Yy87EgijIRsFvFroW7FAYYY,1265092
38
38
  siat/fama_french.py,sha256=aUTC-67t_CEPbLk4u79woW_zfZ7OCP6Fo4z5EdWCSkQ,48051
39
39
  siat/fama_french_test.py,sha256=M4O23lBKsJxhWHRluwCb3l7HSEn3OFTjzGMpehcevRg,4678
@@ -43,9 +43,9 @@ siat/financial_statements.py,sha256=xx0SMpFqAMKm6cj8uYeG2RpJE6G-RoJ3NWa33UyaVMk,
43
43
  siat/financial_statements_test.py,sha256=FLhx8JD-tVVWSBGux6AMz1jioXX4U4bp9DmgFHYXb_w,716
44
44
  siat/financials.py,sha256=6WOWYift3MpKkNBnvnBFASXy9nKKC6DzAr8rg2XyNtw,80646
45
45
  siat/financials2 - 副本.py,sha256=dKlNjIfKeoSy055fQ6E6TUj9HEoO5Ney9grD84J5kfk,14389
46
- siat/financials2.py,sha256=Se99o3nDn6Tvbpa-oYAWiIAQrQmEDrur2GkSXNElJIc,49125
46
+ siat/financials2.py,sha256=ycHUaocHcSuVmgGmx8Uza8IqyxvKB6jqrlYqYG-cO3Q,50942
47
47
  siat/financials_china.py,sha256=Y9QHyJKDgVbkb5L1f65BAiNxLIDmasRUN9_ju4Yby_c,191925
48
- siat/financials_china2.py,sha256=NZzpS1eCaxEClOhh8dvfdn88NhIULqeb9E0GUDUiG4U,92892
48
+ siat/financials_china2.py,sha256=VvkzkjZeH84zwypR7ReldgJeZ7jnNw0qkzebvWMPm10,94956
49
49
  siat/financials_china2_test.py,sha256=Erz5k4LyOplBBvYls2MypuqHpVNJ3daiLdyeJezNPu0,2722
50
50
  siat/financials_china2_test2.py,sha256=C8CuYTMHN4Mhp-sTu-Bmg0zMXRCaYV6ezGDoYartRYQ,3507
51
51
  siat/financials_china2_test3.py,sha256=UXYSA80DNSPRhHpovc2MA9JkpILWMAQaRatbWCHBNPs,3118
@@ -97,7 +97,7 @@ siat/risk_evaluation.py,sha256=I6B3gty-t--AkDCO0tKF-291YfpnF-IkXcFjqNKCt9I,76286
97
97
  siat/risk_evaluation_test.py,sha256=YEXM96gKzTfwN4U61AS4Rr1tV7KgUvn4rRC6f3iMw9s,3731
98
98
  siat/risk_free_rate.py,sha256=IBuRqA2kppdZsW4D4fapW7vnM5HMEXOn95A5r9Pkwlo,12384
99
99
  siat/risk_free_rate_test.py,sha256=CpmhUf8aEAEZeNu4gvWP2Mz2dLoIgBX5bI41vfUBEr8,4285
100
- siat/sector_china.py,sha256=QShFSaJMOydLKL-eCbUy_cWFnXnbdZW90lCUAp6B5lU,151007
100
+ siat/sector_china.py,sha256=L58_8aDPZ54GbIm7-Oxg0pEdQ3hha6pJIah82pYzS8c,155147
101
101
  siat/sector_china_test.py,sha256=1wq7ef8Bb_L8F0h0W6FvyBrIcBTEbrTV7hljtpj49U4,5843
102
102
  siat/security_price.py,sha256=2oHskgiw41KMGfqtnA0i2YjNNV6cYgtlUK0j3YeuXWs,29185
103
103
  siat/security_price2.py,sha256=dYwvz9H-uWp-Gyc1g_MId9k8cITS6ZHmjW-Fc2ypp-0,26587
@@ -105,7 +105,7 @@ siat/security_prices.py,sha256=HoCZ7YPrQYZHgKC-LyXFeeBCTfRc3EMMEiEg52SVv2w,10907
105
105
  siat/security_prices_test.py,sha256=OEphoJ87NPKoNow1QA8EU_5MUYrJF-qKoWKNapVfZNI,10779
106
106
  siat/security_trend.py,sha256=o0vpWdrJkmODCP94X-Bvn-w7efHhj9HpUYBHtLl55D0,17240
107
107
  siat/security_trend2-20240620.py,sha256=QVnEcb7AyVbO77jVqfFsJffGXrX8pgJ9xCfoAKmWBPk,24854
108
- siat/security_trend2.py,sha256=TmfPG5RqT2nzJpYwBYCFrD-NC82uaz8MxbAMmGVdJzY,29995
108
+ siat/security_trend2.py,sha256=Pp2a2HtiVa1P1S1hW8DfMcXcbbnAsvkL7rlTdct67AQ,30242
109
109
  siat/setup.py,sha256=up65rQGLmTBkhtaMLowjoQXYmIsnycnm4g1SYmeQS6o,1335
110
110
  siat/shenwan index history test.py,sha256=JCVAzOSEldHalhSFa3pqD8JI_8_djPMQOxpkuYU-Esg,1418
111
111
  siat/stock.py,sha256=JT_sq-9B8A25fzTh7rSj5-NnO2IlGbI_7O47ZZu9Dk0,159068
@@ -143,8 +143,8 @@ siat/valuation_china.py,sha256=CVp1IwIsF3Om0J29RGkyxZLt4n9Ug-ua_RKhLwL9fUQ,69624
143
143
  siat/valuation_market_china_test.py,sha256=gbJ0ioauuo4koTPH6WKUkqcXiQPafnbhU5eKJ6lpdLA,1571
144
144
  siat/var_model_validation.py,sha256=R0caWnuZarrRg9939hxh3vJIIpIyPfvelYmzFNZtPbo,14910
145
145
  siat/yf_name.py,sha256=laNKMTZ9hdenGX3IZ7G0a2RLBKEWtUQJFY9CWuk_fp8,24058
146
- siat-3.7.25.dist-info/LICENSE,sha256=NTEMMROY9_4U1szoKC3N2BLHcDd_o5uTgqdVH8tbApw,1071
147
- siat-3.7.25.dist-info/METADATA,sha256=_SvLWhZRgnZNxBRP5z-3ZIsRKwd9pXO1GA4Gyi3rTg4,8294
148
- siat-3.7.25.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
149
- siat-3.7.25.dist-info/top_level.txt,sha256=r1cVyL7AIKqeAmEJjNR8FMT20OmEzufDstC2gv3NvEY,5
150
- siat-3.7.25.dist-info/RECORD,,
146
+ siat-3.7.26.dist-info/LICENSE,sha256=NTEMMROY9_4U1szoKC3N2BLHcDd_o5uTgqdVH8tbApw,1071
147
+ siat-3.7.26.dist-info/METADATA,sha256=xbct8I9KkKExfnZGXQmDiN21ihgMpJVHJLylUYFRQyc,8321
148
+ siat-3.7.26.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
149
+ siat-3.7.26.dist-info/top_level.txt,sha256=r1cVyL7AIKqeAmEJjNR8FMT20OmEzufDstC2gv3NvEY,5
150
+ siat-3.7.26.dist-info/RECORD,,
File without changes
File without changes