siat 2.10.13__py3-none-any.whl → 2.11.2__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/transaction.py CHANGED
@@ -1,6 +1,6 @@
1
1
  # -*- coding: utf-8 -*-
2
2
  """
3
- 本模块功能:为维持兼容性,套壳stock的模块
3
+ 本模块功能:SIAT公共转换函数,证券代码转换,名词中英相互转换
4
4
  所属工具包:证券投资分析工具SIAT
5
5
  SIAT:Security Investment Analysis Tool
6
6
  创建日期:2021年5月16日
@@ -12,335 +12,212 @@ SIAT:Security Investment Analysis Tool
12
12
  用途限制:仅限研究与教学使用,不可商用!商用需要额外授权。
13
13
  特别声明:作者不对使用本工具进行证券投资导致的任何损益负责!
14
14
  """
15
+
15
16
  #==============================================================================
16
- #屏蔽所有警告性信息
17
+ #关闭所有警告
17
18
  import warnings; warnings.filterwarnings('ignore')
18
- #==============================================================================
19
19
  from siat.common import *
20
- from siat.translate import *
21
- from siat.grafix import *
22
- from siat.security_prices import *
23
-
24
- # 复制股票分析函数
25
- from siat.stock import *
26
- #==============================================================================
27
20
  #==============================================================================
28
- #==============================================================================
29
- # 功能:灵活比较证券指标:先获取收盘价,再行计算、比较和绘图
30
- # 特点1:比compare_security更灵活,可处理债券指数与股票指数的比较
31
- # 特点2:可处理短期国债与长期国债的收益率,模拟短期和长期无风险收益率
32
- #==============================================================================
33
- if __name__=='__main__':
34
- df1=get_prices('000300.SS','2018-1-1','2020-12-31')
35
-
36
- from siat.bond import *
37
- df2=bond_prices_china('中债-综合指数','2018-1-1','2020-12-31',graph=False)
38
-
39
- indicator='Annual Ret%'
40
- fromdate='2019-7-1'
41
- todate='2020-6-30'
42
- graph=True
43
- power=0
44
- zeroline=True
45
- twinx=False
46
-
47
- def compare_indicator(df1,df2,indicator,fromdate,todate, \
48
- graph=True,power=0,zeroline=True, \
49
- twinx=False,loc1='upper left',loc2='lower left'):
21
+ def ectranslate(eword):
50
22
  """
51
- 功能:基于两个数据表df1/df2中的列Close/Adj Close计算指标indicator,绘图比较
52
- 输入要求:数据表df1/df2中需要,索引为datetime,Close, Adj Close,ticker,source和footnote
53
- 当footnote为空时不需要显示
23
+ 翻译证券词汇为证券名称,基于语言环境决定中英文。
24
+ 输入:证券词汇英文
54
25
  """
55
- #检查日期期间
56
- result,start,end=check_period(fromdate,todate)
57
- if not result:
58
- print(" #Error(compare_indicator): invalid date period from",fromdate,'to',todate)
59
- if graph: return
60
- else: return None
61
-
62
- #检查是否支持该indicator
63
- indlist=['Close','Adj Close','Daily Ret','Daily Ret%','Daily Adj Ret','Daily Adj Ret%',
64
- 'log(Daily Ret)','log(Daily Adj Ret)','Weekly Ret','Weekly Ret%',
65
- 'Weekly Adj Ret','Weekly Adj Ret%','Monthly Ret','Monthly Ret%',
66
- 'Monthly Adj Ret','Monthly Adj Ret%','Quarterly Ret','Quarterly Ret%',
67
- 'Quarterly Adj Ret','Quarterly Adj Ret%','Annual Ret','Annual Ret%',
68
- 'Annual Adj Ret','Annual Adj Ret%','Exp Ret','Exp Ret%','Exp Adj Ret',
69
- 'Exp Adj Ret%','Weekly Price Volatility','Weekly Adj Price Volatility',
70
- 'Monthly Price Volatility','Monthly Adj Price Volatility',
71
- 'Quarterly Price Volatility','Quarterly Adj Price Volatility',
72
- 'Annual Price Volatility','Annual Adj Price Volatility',
73
- 'Exp Price Volatility','Exp Adj Price Volatility',
74
- 'Weekly Ret Volatility','Weekly Ret Volatility%',
75
- 'Weekly Adj Ret Volatility','Weekly Adj Ret Volatility%',
76
- 'Monthly Ret Volatility', 'Monthly Ret Volatility%',
77
- 'Monthly Adj Ret Volatility', 'Monthly Adj Ret Volatility%',
78
- 'Quarterly Ret Volatility', 'Quarterly Ret Volatility%',
79
- 'Quarterly Adj Ret Volatility', 'Quarterly Adj Ret Volatility%',
80
- 'Annual Ret Volatility', 'Annual Ret Volatility%',
81
- 'Annual Adj Ret Volatility', 'Annual Adj Ret Volatility%',
82
- 'Exp Ret Volatility', 'Exp Ret Volatility%', 'Exp Adj Ret Volatility',
83
- 'Exp Adj Ret Volatility%', 'Weekly Ret LPSD', 'Weekly Ret LPSD%',
84
- 'Weekly Adj Ret LPSD', 'Weekly Adj Ret LPSD%', 'Monthly Ret LPSD',
85
- 'Monthly Ret LPSD%', 'Monthly Adj Ret LPSD', 'Monthly Adj Ret LPSD%',
86
- 'Quarterly Ret LPSD', 'Quarterly Ret LPSD%', 'Quarterly Adj Ret LPSD',
87
- 'Quarterly Adj Ret LPSD%', 'Annual Ret LPSD', 'Annual Ret LPSD%',
88
- 'Annual Adj Ret LPSD', 'Annual Adj Ret LPSD%', 'Exp Ret LPSD',
89
- 'Exp Ret LPSD%', 'Exp Adj Ret LPSD', 'Exp Adj Ret LPSD%']
90
- if indicator not in indlist:
91
- print(" #Error(compare_indicator): unsupported indicator",indicator)
92
- print(" Supported indicators:",indlist)
93
- if graph: return
94
- else: return None
95
-
96
- print(" Calculating indicators ......")
97
- #计算df1中的indicator
98
- df1i=calc_indicators(df1,indicator)
99
- df1i1=df1i[df1i.index >=start]
100
- df1i2=df1i1[df1i1.index <= end]
101
-
102
- #计算df2中的indicator
103
- df2i=calc_indicators(df2,indicator)
104
- df2i1=df2i[df2i.index >=start]
105
- df2i2=df2i1[df2i1.index <= end]
106
-
107
- #绘图
108
- ticker1=codetranslate(df1i2['ticker'][0])
109
- colname1=indicator
110
- label1=ectranslate(indicator)
111
-
112
- ticker2=codetranslate(df2i2['ticker'][0])
113
- colname2=indicator
114
- label2=ectranslate(indicator)
115
-
116
- ylabeltxt=label1
117
- titletxt="证券指标走势比较"
118
26
 
119
- note=''
120
- note1=df1i2['footnote'][0]
121
- if note1 != '':
122
- #note="证券1:"+note1
123
- note=note1
124
- note2=df2i2['footnote'][0]
125
- if note2 != '':
126
- #note=note+",证券2:"+note2
127
- note=note+";"+note2
128
- if note != '':
129
- note=note+'\n'
130
-
131
- source1=df1i2['source'][0]
132
- source2=df2i2['source'][0]
133
- if source1 == source2:
134
- source=source1
135
- else:
136
- source=source1+','+source2
137
-
138
- import datetime
139
- today = datetime.date.today().strftime("%Y-%m-%d")
140
- source="数据来源:"+source+','+today
141
-
142
- footnote=''
143
- if note != '':
144
- footnote=note+source
27
+ lang=check_language()
28
+ if lang == 'English':
29
+ return ectranslate_e(eword)
145
30
  else:
146
- footnote=source
147
-
148
- plot_line2(df1i2,ticker1,colname1,label1, \
149
- df2i2,ticker2,colname2,label2, \
150
- ylabeltxt,titletxt,footnote, \
151
- power=power,zeroline=zeroline, \
152
- twinx=twinx,loc1=loc1,loc2=loc2)
153
-
154
- if graph: return
155
- else: return df1i2,df2i2
31
+ return ectranslate_c(eword)
156
32
 
157
- if __name__=='__main__':
158
- compare_indicator(df1,df2,'Annual Ret%','2019-7-1','2020-6-30')
159
- compare_indicator(df1,df2,'Annual Ret Volatility%','2019-7-1','2020-6-30')
160
-
161
- from siat.bond import *
162
- search_bond_index_china(keystr='国债',printout=True)
163
- df1=bond_index_china('中债-0-1年国债指数','2018-1-1','2020-12-31',graph=False)
164
- df2=bond_index_china('中债-10年期国债指数','2018-1-1','2020-12-31',graph=False)
165
- compare_indicator(df1,df2,'Annual Ret%','2019-7-1','2020-6-30')
166
- compare_indicator(df1,df2,'Annual Ret Volatility%','2019-7-1','2020-6-30')
167
- compare_indicator(df1,df2,'Exp Ret%','2019-7-1','2020-6-30')
168
-
169
-
170
33
  #==============================================================================
171
- if __name__=='__main__':
172
- from siat.bond import *
173
- search_bond_index_china(keystr='国债',printout=True)
174
- df1=bond_index_china('中债-10年期国债指数','2018-1-1','2020-12-31',graph=False)
175
-
176
- indicator='Annual Ret%'
177
- fromdate='2019-7-1'
178
- todate='2020-6-30'
179
- graph=True
180
- power=0
181
- zeroline=True
182
- twinx=False
183
-
184
- def draw_indicator(df1,indicator,fromdate,todate, \
185
- graph=True,power=0,zeroline=True):
34
+ def ectranslate_c(eword):
186
35
  """
187
- 功能:基于单个数据表df1中的列Close/Adj Close计算指标indicator,绘图
188
- 输入要求:数据表df1中需要,索引为datetime,Close, Adj Close,ticker和footnote
189
- 当footnote为空时不需要显示
36
+ 翻译英文专业词汇至中文,便于显示或绘图时输出中文而不是英文。
37
+ 输入:英文专业词汇。输出:中文专业词汇
190
38
  """
191
- #检查日期期间
192
- result,start,end=check_period(fromdate,todate)
193
- if not result:
194
- print(" #Error(calc_indicator): invalid date period from",fromdate,'to',todate)
195
- if graph: return
196
- else: return None
197
-
198
- #检查是否支持该indicator
199
- indlist=['Close','Adj Close','Daily Ret','Daily Ret%','Daily Adj Ret','Daily Adj Ret%',
200
- 'log(Daily Ret)','log(Daily Adj Ret)','Weekly Ret','Weekly Ret%',
201
- 'Weekly Adj Ret','Weekly Adj Ret%','Monthly Ret','Monthly Ret%',
202
- 'Monthly Adj Ret','Monthly Adj Ret%','Quarterly Ret','Quarterly Ret%',
203
- 'Quarterly Adj Ret','Quarterly Adj Ret%','Annual Ret','Annual Ret%',
204
- 'Annual Adj Ret','Annual Adj Ret%','Exp Ret','Exp Ret%','Exp Adj Ret',
205
- 'Exp Adj Ret%','Weekly Price Volatility','Weekly Adj Price Volatility',
206
- 'Monthly Price Volatility','Monthly Adj Price Volatility',
207
- 'Quarterly Price Volatility','Quarterly Adj Price Volatility',
208
- 'Annual Price Volatility','Annual Adj Price Volatility',
209
- 'Exp Price Volatility','Exp Adj Price Volatility',
210
- 'Weekly Ret Volatility','Weekly Ret Volatility%',
211
- 'Weekly Adj Ret Volatility','Weekly Adj Ret Volatility%',
212
- 'Monthly Ret Volatility', 'Monthly Ret Volatility%',
213
- 'Monthly Adj Ret Volatility', 'Monthly Adj Ret Volatility%',
214
- 'Quarterly Ret Volatility', 'Quarterly Ret Volatility%',
215
- 'Quarterly Adj Ret Volatility', 'Quarterly Adj Ret Volatility%',
216
- 'Annual Ret Volatility', 'Annual Ret Volatility%',
217
- 'Annual Adj Ret Volatility', 'Annual Adj Ret Volatility%',
218
- 'Exp Ret Volatility', 'Exp Ret Volatility%', 'Exp Adj Ret Volatility',
219
- 'Exp Adj Ret Volatility%', 'Weekly Ret LPSD', 'Weekly Ret LPSD%',
220
- 'Weekly Adj Ret LPSD', 'Weekly Adj Ret LPSD%', 'Monthly Ret LPSD',
221
- 'Monthly Ret LPSD%', 'Monthly Adj Ret LPSD', 'Monthly Adj Ret LPSD%',
222
- 'Quarterly Ret LPSD', 'Quarterly Ret LPSD%', 'Quarterly Adj Ret LPSD',
223
- 'Quarterly Adj Ret LPSD%', 'Annual Ret LPSD', 'Annual Ret LPSD%',
224
- 'Annual Adj Ret LPSD', 'Annual Adj Ret LPSD%', 'Exp Ret LPSD',
225
- 'Exp Ret LPSD%', 'Exp Adj Ret LPSD', 'Exp Adj Ret LPSD%']
226
- if indicator not in indlist:
227
- print(" #Error(calc_indicator): unsupported indicator",indicator)
228
- print(" Supported indicators:",indlist)
229
- if graph: return
230
- else: return None
231
-
232
- print(" Calculating indicators ......")
233
- #计算df1中的indicator
234
- df1i=calc_indicators(df1,indicator)
235
- df1i1=df1i[df1i.index >=start]
236
- df1i2=df1i1[df1i1.index <= end]
237
-
238
-
239
- #绘图
240
- ticker1=codetranslate(df1i2['ticker'][0])
241
- colname1=indicator
242
- label1=ectranslate(indicator)
243
-
244
- ylabeltxt=label1
245
- titletxt="证券指标走势:"+ticker1
246
-
247
- note=''
248
- note1=df1i2['footnote'][0]
249
- if note1 != '':
250
- note="证券1:"+note1
251
- if note != '':
252
- note=note+'\n'
253
-
254
- source1=df1i2['source'][0]
255
- source=source1
256
-
257
- import datetime
258
- today = datetime.date.today().strftime("%Y-%m-%d")
259
- source="数据来源:"+source+''+today
260
-
261
- footnote=''
262
- if note != '':
263
- footnote=note+source
264
- else:
265
- footnote=source
266
-
267
- plot_line(df1i2,colname1,label1,ylabeltxt,titletxt,footnote, \
268
- power=power,zeroline=zeroline)
269
- #print("power=",power,"zeroline=",zeroline)
270
-
271
- if graph: return
272
- else: return df1i2
273
-
274
- if __name__=='__main__':
275
- draw_indicator(df1,'Annual Ret%','2019-7-1','2020-6-30')
276
- #==============================================================================
277
- if __name__=='__main__':
278
- indicator=''
279
- df=df1
280
-
281
- def calc_indicators(df,indicator):
282
- """
283
- 功能:基于df中的列Close/Adj Close计算indicator,生成新的列indicator
284
- """
285
-
286
- #计算indicator
287
- #import siat.stock as sst
288
- import siat.security_prices as sst
289
- #加入日收益率
290
- df1=sst.calc_daily_return(df)
291
- df1.dropna(subset=['Daily Ret'],inplace=True)
292
- fromdate=df1.index[0].strftime("%Y-%m-%d")
293
-
294
- #加入滚动收益率
295
- df1a=sst.calc_rolling_return(df1, "Weekly")
296
- df1b=sst.calc_rolling_return(df1a, "Monthly")
297
- df1c=sst.calc_rolling_return(df1b, "Quarterly")
298
- df1d=sst.calc_rolling_return(df1c, "Annual")
299
- #加入扩展收益率
300
- df2=sst.calc_expanding_return(df1d,fromdate)
301
- collist=list(df2)
302
- if indicator in collist:
303
- return df2
304
-
305
- #加入滚动价格波动风险
306
- df2a=sst.rolling_price_volatility(df2, "Weekly")
307
- df2b=sst.rolling_price_volatility(df2a, "Monthly")
308
- df2c=sst.rolling_price_volatility(df2b, "Quarterly")
309
- df2d=sst.rolling_price_volatility(df2c, "Annual")
310
- #加入累计价格波动风险
311
- df3=sst.expanding_price_volatility(df2d,fromdate)
312
- collist=list(df3)
313
- if indicator in collist:
314
- return df3
315
-
316
- #加入滚动收益率波动风险
317
- df3a=sst.rolling_ret_volatility(df3, "Weekly")
318
- df3b=sst.rolling_ret_volatility(df3a, "Monthly")
319
- df3c=sst.rolling_ret_volatility(df3b, "Quarterly")
320
- df3d=sst.rolling_ret_volatility(df3c, "Annual")
321
- #加入累计收益率波动风险
322
- df4=sst.expanding_ret_volatility(df3d,fromdate)
323
- collist=list(df4)
324
- if indicator in collist:
325
- return df4
326
-
327
- #加入滚动收益率下偏标准差
328
- df4a=sst.rolling_ret_lpsd(df4, "Weekly")
329
- df4b=sst.rolling_ret_lpsd(df4a, "Monthly")
330
- df4c=sst.rolling_ret_lpsd(df4b, "Quarterly")
331
- df4d=sst.rolling_ret_lpsd(df4c, "Annual")
332
- #加入扩展收益率下偏标准差
333
- df5=sst.expanding_ret_lpsd(df4d,fromdate)
334
-
335
- return df5
336
-
337
- if __name__=='__main__':
338
- df1i=calc_indicators(df1,'')
339
-
340
- #==============================================================================
341
- #==============================================================================
342
- #==============================================================================
343
-
344
- #==============================================================================
345
-
346
-
39
+ import pandas as pd
40
+ ecdict=pd.DataFrame([
41
+
42
+ ['implied volatility','隐含波动率'],
43
+ ['delta','Delta'],['gamma','Gamma'],['theta','Theta'],
44
+ ['vega','Vega'],['rho','Rho'],
45
+ ['Call','看涨期权'],['Put','看跌期权'],
46
+ ['call','看涨期权'],['put','看跌期权'],
47
+
48
+ ['High','最高价'],['Low','最低价'],['Open','开盘价'],['Close','收盘价'],
49
+ ['Current Price','现时股价'],
50
+ ['Volume','成交量'],['Adj Close','调整收盘价'],['Daily Ret','日收益率'],
51
+ ['Daily Ret%','日收益率%'],['Daily Adj Ret','调整日收益率'],
52
+ ['Daily Adj Ret%','调整日收益率%'],['log(Daily Ret)','对数日收益率'],
53
+ ['log(Daily Adj Ret)','对数调整日收益率'],['Weekly Ret','周收益率'],
54
+ ['Weekly Ret%','周收益率%'],['Weekly Adj Ret','周调整收益率'],
55
+ ['Weekly Adj Ret%','周调整收益率%'],['Monthly Ret','月收益率'],
56
+ ['Monthly Ret%','月收益率%'],['Monthly Adj Ret','月调整收益率'],
57
+ ['Monthly Adj Ret%','月调整收益率%'],['Quarterly Ret','季度收益率'],
58
+ ['Quarterly Ret%','季度收益率%'],['Quarterly Adj Ret','季度调整收益率'],
59
+ ['Quarterly Adj Ret%','季度调整收益率%'],['Annual Ret','年收益率'],
60
+ ['Annual Ret%','年收益率%'],['Annual Adj Ret','年调整收益率'],
61
+ ['Annual Adj Ret%','年调整收益率%'],['Exp Ret','投资收益率'],
62
+ ['Exp Ret%','投资收益率%'],['Exp Adj Ret','持有调整收益率'],
63
+ ['Exp Adj Ret%','持有调整收益率%'],
64
+
65
+ ['Weekly Price Volatility','周股价波动风险'],
66
+ ['Weekly Adj Price Volatility','周调整股价波动风险'],
67
+ ['Monthly Price Volatility','月股价波动风险'],
68
+ ['Monthly Adj Price Volatility','月调整股价波动风险'],
69
+ ['Quarterly Price Volatility','季股价波动风险'],
70
+ ['Quarterly Adj Price Volatility','季调整股价波动风险'],
71
+ ['Annual Price Volatility','年股价波动风险'],
72
+ ['Annual Adj Price Volatility','年调整股价波动风险'],
73
+ ['Exp Price Volatility','持有股价波动风险'],
74
+ ['Exp Adj Price Volatility','持有调整股价波动风险'],
75
+
76
+ ['Weekly Ret Volatility','周收益率波动风险'],
77
+ ['Weekly Ret Volatility%','周收益率波动风险%'],
78
+ ['Weekly Adj Ret Volatility','周调整收益率波动风险'],
79
+ ['Weekly Adj Ret Volatility%','周调整收益率波动风险%'],
80
+ ['Monthly Ret Volatility','月收益率波动风险'],
81
+ ['Monthly Ret Volatility%','月收益率波动风险%'],
82
+ ['Monthly Adj Ret Volatility','月调整收益波动风险'],
83
+ ['Monthly Adj Ret Volatility%','月调整收益波动风险%'],
84
+ ['Quarterly Ret Volatility','季收益率波动风险'],
85
+ ['Quarterly Ret Volatility%','季收益率波动风险%'],
86
+ ['Quarterly Adj Ret Volatility','季调整收益率波动风险'],
87
+ ['Quarterly Adj Ret Volatility%','季调整收益率波动风险%'],
88
+ ['Annual Ret Volatility','年收益率波动风险'],
89
+ ['Annual Ret Volatility%','年收益率波动风险%'],
90
+ ['Annual Adj Ret Volatility','年调整收益率波动风险'],
91
+ ['Annual Adj Ret Volatility%','年调整收益率波动风险%'],
92
+ ['Exp Ret Volatility','投资收益率波动风险'],
93
+ ['Exp Ret Volatility%','投资收益率波动风险%'],
94
+ ['Exp Adj Ret Volatility','调整投资收益率波动风险'],
95
+ ['Exp Adj Ret Volatility%','调整投资收益率波动风险%'],
96
+
97
+ ['Weekly Ret LPSD','周收益率波动损失风险'],
98
+ ['Weekly Ret LPSD%','周收益率波动损失风险%'],
99
+ ['Weekly Adj Ret LPSD','周调整收益率波动损失风险'],
100
+ ['Weekly Adj Ret LPSD%','周调整收益率波动损失风险%'],
101
+ ['Monthly Ret LPSD','月收益率波动损失风险'],
102
+ ['Monthly Ret LPSD%','月收益率波动损失风险%'],
103
+ ['Monthly Adj Ret LPSD','月调整收益波动损失风险'],
104
+ ['Monthly Adj Ret LPSD%','月调整收益波动损失风险%'],
105
+ ['Quarterly Ret LPSD','季收益率波动损失风险'],
106
+ ['Quarterly Ret LPSD%','季收益率波动损失风险%'],
107
+ ['Quarterly Adj Ret LPSD','季调整收益率波动损失风险'],
108
+ ['Quarterly Adj Ret LPSD%','季调整收益率波动损失风险%'],
109
+ ['Annual Ret LPSD','年收益率波动损失风险'],
110
+ ['Annual Ret LPSD%','年收益率波动损失风险%'],
111
+ ['Annual Adj Ret LPSD','年调整收益率波动损失风险'],
112
+ ['Annual Adj Ret LPSD%','年调整收益率波动损失风险%'],
113
+ ['Exp Ret LPSD','投资损失风险'],
114
+ ['Exp Ret LPSD%','投资损失风险%'],
115
+ ['Exp Adj Ret LPSD','调整投资损失风险'],
116
+ ['Exp Adj Ret LPSD%','调整投资损失风险%'],
117
+
118
+ ['roll_spread','罗尔价差比率'],['amihud_illiquidity','阿米胡德非流动性'],
119
+ ['ps_liquidity','P-S流动性'],
120
+
121
+ ['Gross Domestic Product','国内生产总值'],['GNI','国民总收入'],
122
+
123
+ ['zip','邮编'],['sector','领域'],
124
+ ['fullTimeEmployees','全职员工数'],['Employees','全职员工数'],
125
+ ['longBusinessSummary','业务介绍'],['city','城市'],['phone','电话'],
126
+ ['state','州/省'],['country','国家/地区'],['companyOfficers','高管'],
127
+ ['website','官网'],['address1','地址1'],['address2','地址2'],['industry','行业'],
128
+ ['previousClose','上个收盘价'],['regularMarketOpen','正常市场开盘价'],
129
+ ['twoHundredDayAverage','200天均价'],['fax','传真'],
130
+ ['trailingAnnualDividendYield','年化股息率TTM'],
131
+ ['payoutRatio','股息支付率'],['volume24Hr','24小时交易量'],
132
+ ['regularMarketDayHigh','正常市场日最高价'],
133
+ ['averageDailyVolume10Day','10天平均日交易量'],['totalAssets','总资产'],
134
+ ['regularMarketPreviousClose','正常市场上个收盘价'],
135
+ ['fiftyDayAverage','50天平均股价'],
136
+ ['trailingAnnualDividendRate','年化每股股利金额TTM'],['open','当日开盘价'],
137
+ ['averageVolume10days','10日平均交易量'],['expireDate','失效日'],
138
+ ['yield','收益率'],['dividendRate','每股股利金额'],
139
+ ['exDividendDate','股利除息日'],['beta','贝塔系数'],
140
+ ['startDate','开始日期'],['regularMarketDayLow','正常市场日最低价'],
141
+ ['priceHint','价格提示'],['currency','交易币种'],
142
+ ['trailingPE','市盈率TTM'],['regularMarketVolume','正常市场交易量'],
143
+ ['marketCap','市值'],['averageVolume','平均交易量'],
144
+ ['priceToSalesTrailing12Months','市销率TTM'],
145
+ ['TTM Price to Sales','市销率TTM'],
146
+ ['dayLow','当日最低价'],
147
+ ['ask','卖出价'],['askSize','卖出价股数'],['volume','当日交易量'],
148
+ ['fiftyTwoWeekHigh','52周最高价'],['forwardPE','预期市盈率'],
149
+ ['fiveYearAvgDividendYield','5年平均股息率'],
150
+ ['fiftyTwoWeekLow','52周最低价'],['bid','买入价'],
151
+ ['tradeable','今日是否可交易'],['dividendYield','股息率'],
152
+ ['bidSize','买入价股数'],['dayHigh','当日最高价'],
153
+ ['exchange','交易所'],['shortName','简称'],['longName','全称'],
154
+ ['exchangeTimezoneName','交易所时区'],
155
+ ['exchangeTimezoneShortName','交易所时区简称'],['quoteType','证券类别'],
156
+ ['symbol','证券代码'],['messageBoardId','证券留言板编号'],
157
+ ['market','证券市场'],['annualHoldingsTurnover','一年內转手率'],
158
+ ['enterpriseToRevenue','市售率(EV/Revenue)'],['EV to Revenue','市售率(EV/Revenue)'],
159
+ ['Price to Book','市净率'],['beta3Year','3年贝塔系数'],
160
+ ['profitMargins','净利润率'],['enterpriseToEbitda','企业价值/EBITDA'],
161
+ ['EV to EBITDA','企业价值倍数(EV/EBITDA)'],
162
+ ['52WeekChange','52周股价变化率'],['morningStarRiskRating','晨星风险评级'],
163
+ ['forwardEps','预期每股收益'],['revenueQuarterlyGrowth','季营收增长率'],
164
+ ['sharesOutstanding','流通在外股数'],['fundInceptionDate','基金成立日'],
165
+ ['annualReportExpenseRatio','年报费用比率'],['bookValue','每股净资产'],
166
+ ['sharesShort','卖空股数'],['sharesPercentSharesOut','卖空股数/流通股数'],
167
+ ['lastFiscalYearEnd','上个财年截止日期'],
168
+ ['heldPercentInstitutions','机构持股比例'],
169
+ ['netIncomeToCommon','归属普通股股东净利润'],['trailingEps','每股收益'],
170
+ ['lastDividendValue','上次股利价值'],
171
+ ['SandP52WeekChange','标普指数52周变化率'],['priceToBook','市净率'],
172
+ ['heldPercentInsiders','内部人持股比例'],['priceToBook','市净率'],
173
+ ['nextFiscalYearEnd','下个财年截止日期'],
174
+ ['mostRecentQuarter','上个财季截止日期'],['shortRatio','空头净额比率'],
175
+ ['sharesShortPreviousMonthDate','上月做空日期'],
176
+ ['floatShares','可交易股数'],['enterpriseValue','企业价值'],
177
+ ['threeYearAverageReturn','3年平均回报率'],['lastSplitDate','上个拆分日期'],
178
+ ['lastSplitFactor','上次拆分比例'],
179
+ ['earningsQuarterlyGrowth','季盈余增长率'],['dateShortInterest','做空日期'],
180
+ ['pegRatio','市盈率与增长比率'],['shortPercentOfFloat','空头占可交易股票比例'],
181
+ ['sharesShortPriorMonth','上月做空股数'],
182
+ ['fiveYearAverageReturn','5年平均回报率'],['regularMarketPrice','正常市场价'],
183
+ ['logo_url','商标图标网址'], ['underlyingSymbol','曾用代码'],
184
+ ['timeZoneShortName','时区简称'],['timeZoneFullName','时区全称'],
185
+ ['exchangeName','交易所名称'],['currentPrice','当前价格'],
186
+ ['ratingYear','评估年度'],['ratingMonth','评估月份'],
187
+ ['currencySymbol','币种符号'],['recommendationKey','投资建议'],
188
+ ['totalInsiderShares','内部人持股数'],['financialCurrency','财报币种'],
189
+ ['currentRatio','流动比率'],['quickRatio','速动比率'],
190
+ ['debtToEquity','负债-权益比%'],['ebitdaMargins','EBITDA利润率'],
191
+ ['operatingMargins','经营利润率'],['grossMargins','毛利润率'],
192
+ ['returnOnAssets','资产回报率'],['returnOnEquity','净资产回报率'],
193
+ ['ROA','资产回报率'],['ROE','净资产回报率'],
194
+ ['revenuePerShare','每股销售收入'],['totalCashPerShare','每股总现金'],
195
+ ['revenueGrowth','销售收入增长率'],['earningsGrowth','盈余增长率'],
196
+ ['totalDebt','总负债'],['totalRevenue','总销售收入'],
197
+ ['grossProfits','毛利润'],['ebitda','EBITDA'],
198
+ ['operatingCashflow','经营现金流'],['freeCashflow','自由现金流'],
199
+ ['totalCash','总现金流'],
200
+ ['Total Asset Turnover','总资产周转率'],['Fixed Asset Turnover','固定资产周转率'],
201
+ ['PPE Residual','固定资产成新率'],['Capital Accumulation','资本积累'],
202
+ ['Current Ratio','流动比'],['Quick Ratio','速动比'],['Cash Ratio','现金比'],
203
+ ['Debt Service Coverage','偿债保障比率'],['Debt to Equity','负债-权益比%'],
204
+ ['Debt to Asset','资产负债比'],['Times Interest Earned','利息保障倍数'],
205
+ ['Inventory Turnover','存货周转率'],['Receivable Turnover','应收帐款周转率'],
206
+ ['BasicEPS','基本每股收益'],['Cashflow per Share','每股现金流量'],
207
+ ['Profit Margin','净利润率'],['Gross Margin','毛利润率'],
208
+ ['EBITDA Margin','EBITDA利润率'],['Operating Margin','营业利润率'],
209
+ ['Trailing EPS','每股收益TTM'],['Trailing PE','市盈率TTM'],['Forward PE','预期市盈率'],
210
+ ['Revenue Growth','销售收入增长率'],['Earnings Growth','年度盈余增长率'],
211
+ ['Earnings Quarterly Growth','季度盈余增长率'],
212
+ ['IGR','内部增长率(IGR)'],['SGR','可持续增长率(SGR)'],
213
+ ['Payout Ratio','股利支付率'],
214
+
215
+ ['overallRisk','总风险指数'],
216
+ ['boardRisk','董事会风险指数'],['compensationRisk','薪酬风险指数'],
217
+ ['shareHolderRightsRisk','股东风险指数'],['auditRisk','审计风险指数'],
218
+
219
+ ['totalEsg','ESG总分数'],['Total ESG','ESG总分数'],
220
+ ['esgPerformance','ESG业绩评价'],
221
+ ['peerEsgScorePerformance','ESG同业分数'],
222
+ ['environmentScore','环保分数'],['Environment Score','环保分数'],
223
+ ['peerEnvironmentPerform
siat/translate.py CHANGED
@@ -1030,8 +1030,10 @@ def codetranslate0(code):
1030
1030
  ['^TSX','多伦多综合指数'],['^MXX','墨西哥IPC指数'],
1031
1031
  ['^NDX','纳斯达克100指数'],['^BET','罗马尼亚布加勒斯特指数'],
1032
1032
  ['^BUX','匈牙利布达佩斯指数'],['^PX','捷克布拉格PX指数'],
1033
- ['^SAX','斯洛伐克SAX指数'],['WIG30.PL','波兰华沙WIG30指数'],
1034
- ['WIG20.PL','波兰华沙WIG20指数'],['^OMXS','瑞典斯德哥尔摩指数'],
1033
+ ['^SAX','斯洛伐克SAX指数'],
1034
+ ['WIG30.PL','波兰华沙WIG30指数'],
1035
+ ['WIG20.PL','波兰华沙WIG20指数'], ['WIG.PL','波兰华沙WIG指数'],
1036
+ ['^OMXS','瑞典斯德哥尔摩指数'],
1035
1037
  ['^HEX','芬兰赫尔辛基指数'],['^OMXV','立陶宛维尔纽斯指数'],
1036
1038
  ['^OMXR','拉脱维亚里加指数'],['^OMXT','爱沙尼亚塔林指数'],
1037
1039
  ['^ICEX','冰岛综合指数'],['^FMIB','富时意大利米兰指数'],