siat 3.1.12__py3-none-any.whl → 3.1.13__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/security_trend2.py CHANGED
@@ -71,8 +71,6 @@ if __name__=='__main__':
71
71
  source='auto'
72
72
  ticker_type='auto'
73
73
 
74
- df=security_trend(ticker,indicator=indicator)
75
-
76
74
  #测试组4
77
75
  ticker=["GCZ25.CMX","GCZ24.CMX"]
78
76
  indicator='Close'
@@ -80,6 +78,16 @@ if __name__=='__main__':
80
78
  end="2020-6-30"
81
79
 
82
80
 
81
+ #测试组5
82
+ ticker=["180801.SZ","180101.SZ"]
83
+ indicator='Close'
84
+ start="2024-1-1"
85
+ end="2024-5-30"
86
+ ticker_type='fund'
87
+
88
+ df=security_trend(ticker,indicator,start,end,ticker_type=ticker_type)
89
+
90
+
83
91
  def security_trend(ticker,indicator='Close', \
84
92
  start='default',end='default', \
85
93
 
siat/stock.py CHANGED
@@ -596,11 +596,14 @@ if __name__ =="__main__":
596
596
  average_value=False
597
597
 
598
598
  ticker='600519.SS'; indicator='Exp Ret Volatility%'
599
- fromdate='2022-3-25'; todate='2024-3-25'
600
599
 
600
+ ticker='180202.SZ'
601
+ ticker_type='fund'
601
602
 
602
- risks=security_indicator('600519.SS',fromdate='2022-3-25',todate='2024-3-25', \
603
- indicator='Exp Ret Volatility%',average_value=True)
603
+ fromdate='2024-1-1'; todate='2024-5-25'
604
+
605
+
606
+ df=security_indicator(ticker,indicator,fromdate,todate,ticker_type=ticker_type)
604
607
 
605
608
  def security_indicator(ticker,indicator,fromdate,todate, \
606
609
  zeroline=False, \
@@ -624,6 +627,20 @@ def security_indicator(ticker,indicator,fromdate,todate, \
624
627
  print(" #Error(security_indicator): zero record found for",ticker)
625
628
  return None
626
629
 
630
+ #奇怪错误:仅仅抓取到1个记录,应对办法:改变开始时间,貌似仅存在于REIT基金
631
+ if len(pricedf)==1:
632
+ fromdate1=date_adjust(fromdate,adjust=-365*2)
633
+ pricedf,found=get_price_1ticker_mixed(ticker=ticker,fromdate=fromdate1, \
634
+ todate=todate,source=source,ticker_type=ticker_type)
635
+ if len(pricedf)==1:
636
+ fromdate1=date_adjust(fromdate,adjust=-365*1)
637
+ pricedf,found=get_price_1ticker_mixed(ticker=ticker,fromdate=fromdate1, \
638
+ todate=todate,source=source,ticker_type=ticker_type)
639
+ if len(pricedf)==1:
640
+ fromdate1=fromdate
641
+ pricedf,found=get_price_1ticker_mixed(ticker=ticker,fromdate=fromdate1, \
642
+ todate=todate,source=source,ticker_type=ticker_type)
643
+
627
644
  # 去掉时区信息,避免日期时区冲突问题
628
645
  pricedf=df_index_timezone_remove(pricedf)
629
646
  """
siat/stock_info.pickle CHANGED
Binary file
siat/translate.py CHANGED
@@ -1211,10 +1211,10 @@ def codetranslate0(code):
1211
1211
  ["162204",'泰达宏利行业混合A'],["015601",'泰达宏利行业混合C'],
1212
1212
  ["660015",'农银行业轮动混合A'],["015850",'农银行业轮动混合C'],
1213
1213
 
1214
- ["SPY",'SPDR SP500 ETF'],['SPYD','SPDR SP500 Div ETF'],
1215
- ["SPYG",'SPDR SP500 Growth ETF'],['SPYV','SPDR SP500 Value ETF'],
1216
- ["VOO",'Vanguard SP500 ETF'],['VOOG','Vanguard SP500 Growth ETF'],
1217
- ["VOOV",'Vanguard SP500 Value ETF'],['IVV','iShares SP500 ETF'],
1214
+ ["SPY",'SPDR标普500ETF'],['SPYD','SPDR标普500股利优先ETF'],
1215
+ ["SPYG",'SPDR标普500成长优先ETF'],['SPYV','SPDR标普500价值优先ETF'],
1216
+ ["VOO",'Vanguard标普500ETF'],['VOOG','Vanguard标普500成长优先ETF'],
1217
+ ["VOOV",'Vanguard标普500价值优先ETF'],['IVV','iShares标普500ETF'],
1218
1218
  ["DGT",'SPDR Global Dow ETF'],['ICF','iShares C&S REIT ETF'],
1219
1219
  ["FRI",'FT S&P REIT Index Fund'],['IEMG','iShares核心MSCI新兴市场ETF'],
1220
1220
  ['245710.KS','KINDEX越南VN30指数ETF'],['02801.HK','iShares核心MSCI中国指数ETF'],
@@ -2990,16 +2990,15 @@ if __name__=='__main__':
2990
2990
  _,_,tickerlist,sharelist=decompose_portfolio(portfolio)
2991
2991
  leading_blanks=2
2992
2992
 
2993
- def print_tickerlist_sharelist(tickerlist,sharelist,leading_blanks=2):
2993
+ def print_tickerlist_sharelist(tickerlist,sharelist,leading_blanks=2,ticker_type='auto'):
2994
2994
  """
2995
- 功能:纵向打印投资组合的成份股和持股比例
2995
+ 功能:纵向打印投资组合的成分股和持股比例
2996
2996
  输入:
2997
- tickerlist:成份股列表
2997
+ tickerlist:成分股列表
2998
2998
  sharelist:持股份额列表
2999
2999
  leading_blanks:打印前导空格数
3000
- 注意:放在本文件中的原因是需要使用函数codetranslate
3001
3000
  """
3002
- #检查成份股与持仓比例个数是否一致
3001
+ #检查成分股与持仓比例个数是否一致
3003
3002
  if not (len(tickerlist) == len(sharelist)):
3004
3003
  print(" #Error(): numbers of tickers and shares are not same")
3005
3004
  return
@@ -3017,12 +3016,16 @@ def print_tickerlist_sharelist(tickerlist,sharelist,leading_blanks=2):
3017
3016
  sharelist_array = np.array(sharelist)
3018
3017
  total_shares=sharelist_array.sum()
3019
3018
  weights=sharelist_array/total_shares
3019
+
3020
+ #预处理ticker_type
3021
+ ticker_type_list=ticker_type_preprocess_mticker_mixed(tickerlist,ticker_type)
3020
3022
 
3021
3023
  import pandas as pd
3022
3024
  df=pd.DataFrame(columns=['证券代码','证券名称','持仓比例'])
3023
3025
  for t in tickerlist:
3024
3026
  pos=tickerlist.index(t)
3025
- tname=codetranslate(t)
3027
+ tt=ticker_type_list[pos]
3028
+ tname=ticker_name(t,tt)
3026
3029
  tweight=weights[pos]
3027
3030
 
3028
3031
  row=pd.Series({'证券代码':t,'证券名称':tname,'持仓比例':tweight})
@@ -3060,7 +3063,7 @@ def print_tickerlist_sharelist(tickerlist,sharelist,leading_blanks=2):
3060
3063
 
3061
3064
  if __name__=='__main__':
3062
3065
  print_tickerlist_sharelist(tickerlist,sharelist,leading_blanks=2)
3063
- #==============================================================================
3066
+
3064
3067
  #==============================================================================
3065
3068
  #==============================================================================
3066
3069
  #整理证券名称
@@ -3225,9 +3228,10 @@ def ticker1_name(ticker,ticker_type='auto'):
3225
3228
  return ticker
3226
3229
 
3227
3230
  #快速转换
3228
- tname=codetranslate(ticker)
3229
- if tname != ticker: #翻译成功
3230
- return tname
3231
+ if ticker_type=='auto':
3232
+ tname=codetranslate(ticker)
3233
+ if tname != ticker: #翻译成功
3234
+ return tname
3231
3235
 
3232
3236
  symbol=ticker1_cvt2yahoo(ticker)
3233
3237