siat 3.0.35__py3-none-any.whl → 3.0.40__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/financials_china2.py CHANGED
@@ -449,9 +449,9 @@ def df_directprint(dfp,title_txt,footnote, \
449
449
  title_break=True,foot_break=True,foot_center=False,foot_start=1, \
450
450
  decimals=2,facecolor='papayawhip'):
451
451
  """
452
- def df_directprint(dfp,title_txt,footnote,decimals=2,facecolor='papayawhip'):
452
+ def df_directprint(dfp,title_txt,footnote,decimals=2,facecolor='papayawhip',font_size='16px'):
453
453
  """
454
- 功能:对dfp直接打印,使用pandas style打印
454
+ 功能:对dfp直接打印,使用pandas style打印,套壳函数df_display_CSS
455
455
  """
456
456
  #替换nan和inf
457
457
  import pandas as pd
@@ -459,7 +459,7 @@ def df_directprint(dfp,title_txt,footnote,decimals=2,facecolor='papayawhip'):
459
459
  dfp.replace([np.inf, -np.inf],'-', inplace=True)
460
460
  dfp.replace([np.nan],'-', inplace=True)
461
461
 
462
- print('') #空一行
462
+ #print('') #空一行
463
463
 
464
464
  """
465
465
  #解析标题各行并居中打印
@@ -477,6 +477,16 @@ def df_directprint(dfp,title_txt,footnote,decimals=2,facecolor='papayawhip'):
477
477
 
478
478
  pos=pos_new+1
479
479
  """
480
+
481
+ #确定表格字体大小
482
+ titile_font_size=font_size
483
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
484
+
485
+ df_display_CSS(dfp,titletxt=title_txt,footnote=footnote,facecolor=facecolor, \
486
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
487
+ data_font_size=data_font_size)
488
+
489
+ """
480
490
  disph=dfp.style.hide() #不显示索引列
481
491
  dispp=disph.format(precision=decimals) #设置带有小数点的列精度调整为小数点后2位
482
492
 
@@ -502,7 +512,7 @@ def df_directprint(dfp,title_txt,footnote,decimals=2,facecolor='papayawhip'):
502
512
  #打印数据框本身
503
513
  from IPython.display import display
504
514
  display(dispf2)
505
-
515
+ """
506
516
  """
507
517
  #print(dfp.to_string(index=False))
508
518
  colalign=['left']+['right']*(len(list(dfp)) - 1)
@@ -532,7 +542,7 @@ def df_directprint(dfp,title_txt,footnote,decimals=2,facecolor='papayawhip'):
532
542
  pos=pos_new+1
533
543
  """
534
544
  #print('') #空一行
535
- print(footnote,'\n')
545
+ #print(footnote,'\n')
536
546
 
537
547
  return
538
548
  #==============================================================================
@@ -551,7 +561,8 @@ if __name__=='__main__':
551
561
  items=["货币资金","应收票据","应收账款"]
552
562
  dfp=fs_item_analysis_1(df,ticker,fsdate,items)
553
563
 
554
- def fs_item_analysis_1(df,ticker,fsdate,items,title_txt='',notes='',facecolor='papayawhip'):
564
+ def fs_item_analysis_1(df,ticker,fsdate,items,title_txt='',notes='', \
565
+ facecolor='papayawhip',font_size='16px'):
555
566
  """
556
567
  功能:比较给定财报日期的资产项目、期初数、期末数、变动额和变动幅度%
557
568
  """
@@ -608,11 +619,17 @@ def fs_item_analysis_1(df,ticker,fsdate,items,title_txt='',notes='',facecolor='p
608
619
  foottext=footnote
609
620
  else:
610
621
  foottext=notes+'\n'+footnote
622
+
623
+ #确定表格字体大小
624
+ titile_font_size=font_size
625
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
611
626
 
612
627
  #df_directprint(dfp,title_txt,foottext,facecolor=facecolor)
613
628
  df_display_CSS(df=dfp,titletxt=title_txt,footnote=foottext, \
614
629
  first_col_align='left', \
615
- facecolor=facecolor,decimals=2)
630
+ facecolor=facecolor,decimals=2, \
631
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
632
+ data_font_size=data_font_size)
616
633
 
617
634
  return dfp
618
635
 
@@ -631,7 +648,8 @@ if __name__=='__main__':
631
648
 
632
649
  dfp=fs_item_analysis_2(df,ticker,fsdates,items)
633
650
 
634
- def fs_item_analysis_2(df,ticker,fsdates,items,title_txt='',notes='',facecolor='papayawhip'):
651
+ def fs_item_analysis_2(df,ticker,fsdates,items,title_txt='',notes='', \
652
+ facecolor='papayawhip',font_size='16px'):
635
653
  """
636
654
  功能:比较给定财报日期的报表项目、最近几年fsdates、占比%
637
655
  """
@@ -671,11 +689,17 @@ def fs_item_analysis_2(df,ticker,fsdates,items,title_txt='',notes='',facecolor='
671
689
  foottext=footnote
672
690
  else:
673
691
  foottext=notes+'\n'+footnote
692
+
693
+ #确定表格字体大小
694
+ titile_font_size=font_size
695
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
674
696
 
675
697
  #df_directprint(dfp,title_txt,foottext,facecolor=facecolor)
676
698
  df_display_CSS(df=dfp,titletxt=title_txt,footnote=foottext, \
677
699
  first_col_align='left', \
678
- facecolor=facecolor,decimals=2)
700
+ facecolor=facecolor,decimals=2, \
701
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
702
+ data_font_size=data_font_size)
679
703
 
680
704
  return dfp
681
705
 
@@ -690,7 +714,8 @@ if __name__=='__main__':
690
714
 
691
715
  dfp=fs_item_analysis_3(df,ticker,fsdates)
692
716
 
693
- def fs_item_analysis_3(df,ticker,fsdates,title_txt='',notes='',facecolor='papayawhip'):
717
+ def fs_item_analysis_3(df,ticker,fsdates,title_txt='',notes='', \
718
+ facecolor='papayawhip',font_size='16px'):
694
719
  """
695
720
  功能:比较给定财报日期的流动比率、最近几年fsdates
696
721
  """
@@ -729,11 +754,21 @@ def fs_item_analysis_3(df,ticker,fsdates,title_txt='',notes='',facecolor='papaya
729
754
  foottext=footnote
730
755
  else:
731
756
  foottext=notes+'\n'+footnote
757
+
758
+ #确定表格字体大小
759
+ titile_font_size=font_size
760
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
761
+
762
+ #确定表格字体大小
763
+ titile_font_size=font_size
764
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
732
765
 
733
766
  #df_directprint(dfp,title_txt,foottext,facecolor=facecolor)
734
767
  df_display_CSS(df=dfp,titletxt=title_txt,footnote=foottext, \
735
768
  first_col_align='left', \
736
- facecolor=facecolor,decimals=2)
769
+ facecolor=facecolor,decimals=2, \
770
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
771
+ data_font_size=data_font_size)
737
772
 
738
773
  return dfp
739
774
 
@@ -748,7 +783,8 @@ if __name__=='__main__':
748
783
 
749
784
  dfp=fs_item_analysis_4(df,ticker,fsdates)
750
785
 
751
- def fs_item_analysis_4(df,ticker,fsdates,title_txt='',notes='',facecolor='papayawhip'):
786
+ def fs_item_analysis_4(df,ticker,fsdates,title_txt='',notes='', \
787
+ facecolor='papayawhip',font_size='16px'):
752
788
  """
753
789
  功能:比较给定财报日期的流动比率、最近几年fsdates
754
790
  """
@@ -807,11 +843,17 @@ def fs_item_analysis_4(df,ticker,fsdates,title_txt='',notes='',facecolor='papaya
807
843
  foottext=footnote
808
844
  else:
809
845
  foottext=notes+'\n'+footnote
846
+
847
+ #确定表格字体大小
848
+ titile_font_size=font_size
849
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
810
850
 
811
851
  #df_directprint(dfp,title_txt,foottext,facecolor=facecolor)
812
852
  df_display_CSS(df=dfp,titletxt=title_txt,footnote=foottext, \
813
853
  first_col_align='left', \
814
- facecolor=facecolor,decimals=2)
854
+ facecolor=facecolor,decimals=2, \
855
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
856
+ data_font_size=data_font_size)
815
857
  return dfp
816
858
 
817
859
  #==============================================================================
@@ -825,7 +867,8 @@ if __name__=='__main__':
825
867
 
826
868
  dfp=fs_item_analysis_5(df,ticker,fsdates)
827
869
 
828
- def fs_item_analysis_5(df,ticker,fsdates,title_txt='',notes='',facecolor='papayawhip'):
870
+ def fs_item_analysis_5(df,ticker,fsdates,title_txt='',notes='', \
871
+ facecolor='papayawhip',font_size='16px'):
829
872
  """
830
873
  功能:比较给定财报日期的流动比率、最近几年fsdates
831
874
  """
@@ -864,11 +907,17 @@ def fs_item_analysis_5(df,ticker,fsdates,title_txt='',notes='',facecolor='papaya
864
907
  foottext=footnote
865
908
  else:
866
909
  foottext=notes+'\n'+footnote
910
+
911
+ #确定表格字体大小
912
+ titile_font_size=font_size
913
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
867
914
 
868
915
  #df_directprint(dfp,title_txt,foottext,facecolor=facecolor)
869
916
  df_display_CSS(df=dfp,titletxt=title_txt,footnote=foottext, \
870
917
  first_col_align='left', \
871
- facecolor=facecolor,decimals=2)
918
+ facecolor=facecolor,decimals=2, \
919
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
920
+ data_font_size=data_font_size)
872
921
  return dfp
873
922
 
874
923
  #==============================================================================
@@ -943,7 +992,8 @@ if __name__=='__main__':
943
992
 
944
993
  dfp=fs_item_analysis_6(df,ticker,fsdates,items)
945
994
 
946
- def fs_item_analysis_6(df,ticker,fsdates,items,title_txt='',notes='',facecolor='papayawhip'):
995
+ def fs_item_analysis_6(df,ticker,fsdates,items,title_txt='',notes='', \
996
+ facecolor='papayawhip',font_size='16px'):
947
997
  """
948
998
  功能:比较给定财报日期的应收账款与营业收入增幅、最近几年fsdates
949
999
  """
@@ -989,11 +1039,17 @@ def fs_item_analysis_6(df,ticker,fsdates,items,title_txt='',notes='',facecolor='
989
1039
  foottext=footnote
990
1040
  else:
991
1041
  foottext=notes+'\n'+footnote
1042
+
1043
+ #确定表格字体大小
1044
+ titile_font_size=font_size
1045
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
992
1046
 
993
1047
  #df_directprint(dfp,title_txt,foottext,facecolor=facecolor)
994
1048
  df_display_CSS(df=dfp,titletxt=title_txt,footnote=foottext, \
995
1049
  first_col_align='left', \
996
- facecolor=facecolor,decimals=2)
1050
+ facecolor=facecolor,decimals=2, \
1051
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
1052
+ data_font_size=data_font_size)
997
1053
  return dfp
998
1054
 
999
1055
  #==============================================================================
@@ -1070,7 +1126,8 @@ if __name__=='__main__':
1070
1126
 
1071
1127
  dfp=fs_item_analysis_7(df,tickers,fsdate,items)
1072
1128
 
1073
- def fs_item_analysis_7(df,tickers,fsdate,items,title_txt='',notes='',facecolor='papayawhip'):
1129
+ def fs_item_analysis_7(df,tickers,fsdate,items,title_txt='',notes='', \
1130
+ facecolor='papayawhip',font_size='16px'):
1074
1131
  """
1075
1132
  功能:比较给定财报日期fsdate的项目和指标,与同业相比
1076
1133
  """
@@ -1134,11 +1191,17 @@ def fs_item_analysis_7(df,tickers,fsdate,items,title_txt='',notes='',facecolor='
1134
1191
  foottext=footnote
1135
1192
  else:
1136
1193
  foottext=notes+'\n'+footnote
1194
+
1195
+ #确定表格字体大小
1196
+ titile_font_size=font_size
1197
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
1137
1198
 
1138
1199
  #df_directprint(dfp,title_txt,foottext,facecolor=facecolor)
1139
1200
  df_display_CSS(df=dfp,titletxt=title_txt,footnote=foottext, \
1140
1201
  first_col_align='left', \
1141
- facecolor=facecolor,decimals=2)
1202
+ facecolor=facecolor,decimals=2, \
1203
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
1204
+ data_font_size=data_font_size)
1142
1205
  return dfp
1143
1206
 
1144
1207
  #==============================================================================
@@ -1152,7 +1215,8 @@ if __name__=='__main__':
1152
1215
  items=['资产总计','资产负债率%','流动比率%','速动比率%']
1153
1216
  dfp=fs_item_analysis_8(df,tickers,fsdate,items)
1154
1217
 
1155
- def fs_item_analysis_8(df,tickers,fsdate,items,title_txt='',notes='',facecolor='papayawhip'):
1218
+ def fs_item_analysis_8(df,tickers,fsdate,items,title_txt='',notes='', \
1219
+ facecolor='papayawhip',font_size='16px'):
1156
1220
  """
1157
1221
  功能:比较给定财报日期fsdate的项目和指标,与同业相比
1158
1222
  区别:项目不带‘(亿元)’字样,避免行过长
@@ -1218,11 +1282,17 @@ def fs_item_analysis_8(df,tickers,fsdate,items,title_txt='',notes='',facecolor='
1218
1282
  foottext=footnote
1219
1283
  else:
1220
1284
  foottext=notes+'\n'+footnote
1285
+
1286
+ #确定表格字体大小
1287
+ titile_font_size=font_size
1288
+ heading_font_size=data_font_size=str(int(font_size.replace('px',''))-1)+'px'
1221
1289
 
1222
1290
  #df_directprint(dfp,title_txt,foottext,facecolor=facecolor)
1223
1291
  df_display_CSS(df=dfp,titletxt=title_txt,footnote=foottext, \
1224
1292
  first_col_align='left', \
1225
- facecolor=facecolor,decimals=2)
1293
+ facecolor=facecolor,decimals=2, \
1294
+ titile_font_size=titile_font_size,heading_font_size=heading_font_size, \
1295
+ data_font_size=data_font_size)
1226
1296
  return dfp
1227
1297
 
1228
1298
  #==============================================================================
@@ -1231,16 +1301,16 @@ if __name__=='__main__':
1231
1301
  fsdates=['2022-12-31','2021-12-31','2020-12-31','2019-12-31']
1232
1302
  asset_liab_structure_china(tickers,fsdates)
1233
1303
 
1234
- def asset_liab_china(tickers,fsdates,facecolor='papayawhip'):
1304
+ def asset_liab_china(tickers,fsdates,facecolor='papayawhip',font_size='16px'):
1235
1305
  """
1236
1306
  套壳函数asset_liab_structure_china
1237
1307
  """
1238
- asset_liab_structure_china(tickers,fsdates,facecolor=facecolor)
1308
+ asset_liab_structure_china(tickers,fsdates,facecolor=facecolor,font_size=font_size)
1239
1309
 
1240
1310
  return
1241
1311
 
1242
1312
 
1243
- def asset_liab_structure_china(tickers,fsdates,facecolor='papayawhip'):
1313
+ def asset_liab_structure_china(tickers,fsdates,facecolor='papayawhip',font_size='16px'):
1244
1314
  """
1245
1315
  功能:分析上市公司的资产负债基本结构,并与同业公司对比。
1246
1316
  注意1:分析近三期情况,fsdates要给出四个报表日期,以便获得期初数。
@@ -1332,12 +1402,14 @@ def asset_liab_structure_china(tickers,fsdates,facecolor='papayawhip'):
1332
1402
  notes4="固定资产净额 = 固定资产原值 - 累计折旧 - 资产减值准备"
1333
1403
 
1334
1404
  notes=notes1+'\n'+notes2+'\n'+notes3+'\n'+notes4
1335
- dfp2=fs_item_analysis_1(df,ticker,fsdate,items2,title_txt,notes,facecolor=facecolor)
1405
+ dfp2=fs_item_analysis_1(df,ticker,fsdate,items2,title_txt,notes, \
1406
+ facecolor=facecolor,font_size=font_size)
1336
1407
 
1337
1408
  #负债变动趋势
1338
1409
  title_txt=title_head+"主要负债项目,"+fsdate
1339
1410
  items3=["短期借款","长期借款","应付账款","预收款项","应交税费","应付职工薪酬","负债合计"]
1340
- dfp3=fs_item_analysis_1(df,ticker,fsdate,items3,title_txt,facecolor=facecolor)
1411
+ dfp3=fs_item_analysis_1(df,ticker,fsdate,items3,title_txt, \
1412
+ facecolor=facecolor,font_size=font_size)
1341
1413
 
1342
1414
  #所有者权益变动趋势
1343
1415
  title_txt=title_head+"主要权益项目,"+fsdate
@@ -1377,37 +1449,43 @@ def asset_liab_structure_china(tickers,fsdates,facecolor='papayawhip'):
1377
1449
  notesB=notes8+'\n'+notes9+'\n'+notes10+'\n'+notes11+'\n'+notes12+'\n'+notes13+'\n'+notes14
1378
1450
 
1379
1451
  notes=notesA+'\n'+notesB
1380
- dfp4=fs_item_analysis_1(df,ticker,fsdate,items4,title_txt,notes,facecolor=facecolor)
1452
+ dfp4=fs_item_analysis_1(df,ticker,fsdate,items4,title_txt,notes, \
1453
+ facecolor=facecolor,font_size=font_size)
1381
1454
 
1382
1455
  ### 货币资金与应收项目
1383
1456
  #资产变动趋势1:"货币资金","应收票据","应收账款"
1384
1457
  title_txt=title_head+"货币资金与应收项目,"+fsdate
1385
1458
  items1=["货币资金","应收票据","应收账款"]
1386
- dfp1=fs_item_analysis_1(df,ticker,fsdate,items1,title_txt,facecolor=facecolor)
1459
+ dfp1=fs_item_analysis_1(df,ticker,fsdate,items1,title_txt, \
1460
+ facecolor=facecolor,font_size=font_size)
1387
1461
 
1388
1462
  #应收账款占比变动分析
1389
1463
  fsdates1=fsdates[:3]
1390
1464
  items5=["应收账款","资产总计"]
1391
1465
  title_txt=title_head+"应收账款占比变动情况"
1392
- dfp5=fs_item_analysis_2(df,ticker,fsdates1,items5,title_txt,facecolor=facecolor)
1466
+ dfp5=fs_item_analysis_2(df,ticker,fsdates1,items5,title_txt, \
1467
+ facecolor=facecolor,font_size=font_size)
1393
1468
 
1394
1469
  #应收与营业收入增幅对比
1395
1470
  fsdates2=fsdates[:2]
1396
1471
  items6=['应收账款',"应收票据",'营业总收入']
1397
1472
  title_txt=title_head+"应收项目与营业收入增幅对比"
1398
- dfp6=fs_item_analysis_6(df,ticker,fsdates2,items6,title_txt,facecolor=facecolor)
1473
+ dfp6=fs_item_analysis_6(df,ticker,fsdates2,items6,title_txt, \
1474
+ facecolor=facecolor,font_size=font_size)
1399
1475
 
1400
1476
  #应收账款占比同行对比
1401
1477
  items7=['应收账款','资产总计','应收账款占比%']
1402
1478
  #title_txt=title_head+"应收账款占比同行对比"
1403
1479
  title_txt="应收账款占比同行对比:"+fsdate
1404
- dfp7=fs_item_analysis_7(df,tickers,fsdate,items7,title_txt,facecolor=facecolor)
1480
+ dfp7=fs_item_analysis_7(df,tickers,fsdate,items7,title_txt, \
1481
+ facecolor=facecolor,font_size=font_size)
1405
1482
 
1406
1483
  ### 存货
1407
1484
  #存货占比变动分析
1408
1485
  items8=["存货","资产总计"]
1409
1486
  title_txt=title_head+"存货占比变动情况"
1410
- dfp8=fs_item_analysis_2(df,ticker,fsdates1,items8,title_txt,facecolor=facecolor)
1487
+ dfp8=fs_item_analysis_2(df,ticker,fsdates1,items8,title_txt, \
1488
+ facecolor=facecolor,font_size=font_size)
1411
1489
  """
1412
1490
  items9=["存货","营业总收入"]
1413
1491
  dfp9=fs_item_analysis_6(df,ticker,fsdates2,items9)
@@ -1415,32 +1493,38 @@ def asset_liab_structure_china(tickers,fsdates,facecolor='papayawhip'):
1415
1493
  #存货与营业收入增幅对比分析
1416
1494
  items10=['存货','流动资产合计',"速动资产合计","资产总计"]
1417
1495
  title_txt=title_head+"存货与资产项目增幅对比"
1418
- dfp10=fs_item_analysis_6(df,ticker,fsdates2,items10,title_txt,facecolor=facecolor)
1496
+ dfp10=fs_item_analysis_6(df,ticker,fsdates2,items10,title_txt, \
1497
+ facecolor=facecolor,font_size=font_size)
1419
1498
 
1420
1499
  #存货占比与行业对比
1421
1500
  items11=['存货','资产总计','存货占比%']
1422
1501
  #title_txt=title_head+"存货占比情况同行对比"
1423
1502
  title_txt="存货占比情况同行对比:"+fsdate
1424
- dfp11=fs_item_analysis_7(df,tickers,fsdate,items11,title_txt,facecolor=facecolor)
1503
+ dfp11=fs_item_analysis_7(df,tickers,fsdate,items11,title_txt, \
1504
+ facecolor=facecolor,font_size=font_size)
1425
1505
 
1426
1506
  ### 偿债能力
1427
1507
  #流动比率变动分析
1428
1508
  title_txt=title_head+"流动比率变动情况"
1429
- dfp12=fs_item_analysis_3(df,ticker,fsdates1,title_txt,facecolor=facecolor)
1509
+ dfp12=fs_item_analysis_3(df,ticker,fsdates1,title_txt, \
1510
+ facecolor=facecolor,font_size=font_size)
1430
1511
 
1431
1512
  #速动比率变动分析
1432
1513
  title_txt=title_head+"速动比率变动情况"
1433
- dfp13=fs_item_analysis_4(df,ticker,fsdates1,title_txt,facecolor=facecolor)
1514
+ dfp13=fs_item_analysis_4(df,ticker,fsdates1,title_txt, \
1515
+ facecolor=facecolor,font_size=font_size)
1434
1516
 
1435
1517
  #资产负债率变动分析
1436
1518
  title_txt=title_head+"资产负债率变动情况"
1437
- dfp14=fs_item_analysis_5(df,ticker,fsdates1,title_txt,facecolor=facecolor)
1519
+ dfp14=fs_item_analysis_5(df,ticker,fsdates1,title_txt, \
1520
+ facecolor=facecolor,font_size=font_size)
1438
1521
 
1439
1522
  #资产负债率同行比较
1440
1523
  #title_txt=title_head+"资产负债率同行比较"
1441
1524
  title_txt="资产负债率同行比较:"+fsdate
1442
1525
  items15=['资产总计','资产负债率%','流动比率%','速动比率%']
1443
- dfp15=fs_item_analysis_8(df,tickers,fsdate,items15,title_txt,facecolor=facecolor)
1526
+ dfp15=fs_item_analysis_8(df,tickers,fsdate,items15,title_txt, \
1527
+ facecolor=facecolor,font_size=font_size)
1444
1528
 
1445
1529
  return
1446
1530
 
@@ -1450,15 +1534,15 @@ if __name__=='__main__':
1450
1534
  fsdates=['2021-12-31','2020-12-31','2019-12-31','2018-12-31']
1451
1535
  income_cost_structure_china(tickers,fsdates)
1452
1536
 
1453
- def income_cost_china(tickers,fsdates,facecolor='papayawhip'):
1537
+ def income_cost_china(tickers,fsdates,facecolor='papayawhip',font_size='16px'):
1454
1538
  """
1455
1539
  套壳函数income_cost_structure_china
1456
1540
  """
1457
- income_cost_structure_china(tickers,fsdates,facecolor=facecolor)
1541
+ income_cost_structure_china(tickers,fsdates,facecolor=facecolor,font_size=font_size)
1458
1542
 
1459
1543
  return
1460
1544
 
1461
- def income_cost_structure_china(tickers,fsdates,facecolor='papayawhip'):
1545
+ def income_cost_structure_china(tickers,fsdates,facecolor='papayawhip',font_size='16px'):
1462
1546
  """
1463
1547
  功能:分析上市公司的收入成本基本结构,并与同业公司对比。
1464
1548
  注意1:分析近三期情况,fsdates要给出四个报表日期,以便获得期初数。
@@ -1526,7 +1610,8 @@ def income_cost_structure_china(tickers,fsdates,facecolor='papayawhip'):
1526
1610
  #收入成本总体变动趋势
1527
1611
  title_txt=title_head+"主要利润表项目,"+fsdate
1528
1612
  items1=["营业总收入","营业总成本","营业成本","毛利润","营业利润","营业外收支","税前利润","所得税费用","净利润","归母净利润"]
1529
- dfp1=fs_item_analysis_1(df,ticker,fsdate,items1,title_txt,facecolor=facecolor)
1613
+ dfp1=fs_item_analysis_1(df,ticker,fsdate,items1,title_txt, \
1614
+ facecolor=facecolor,font_size=font_size)
1530
1615
 
1531
1616
  #成本变动趋势
1532
1617
  title_txt=title_head+"主要成本费用项目,"+fsdate
@@ -1539,7 +1624,8 @@ def income_cost_structure_china(tickers,fsdates,facecolor='papayawhip'):
1539
1624
  items2=["营业总成本","营业成本","营业税金及附加","销售费用","管理费用","研发费用",
1540
1625
  "应付利息","非流动资产处置损失",
1541
1626
  "资产减值损失","营业外支出"]
1542
- dfp2=fs_item_analysis_1(df,ticker,'2021-12-31',items2,title_txt,facecolor=facecolor)
1627
+ dfp2=fs_item_analysis_1(df,ticker,'2021-12-31',items2,title_txt, \
1628
+ facecolor=facecolor,font_size=font_size)
1543
1629
 
1544
1630
  #占比变动分析:近三年
1545
1631
  title_txt=title_head+"营业总成本占营业总收入比例情况"
@@ -1555,7 +1641,8 @@ def income_cost_structure_china(tickers,fsdates,facecolor='papayawhip'):
1555
1641
  notes3="营业总收入=营业收入+非营业收入(投资收益、营业外收入等)"
1556
1642
 
1557
1643
  notes=notes1+'\n'+notes2+'\n'+notes3
1558
- dfp3=fs_item_analysis_2(df,ticker,fsdates1,items3,title_txt,notes,facecolor=facecolor)
1644
+ dfp3=fs_item_analysis_2(df,ticker,fsdates1,items3,title_txt,notes, \
1645
+ facecolor=facecolor,font_size=font_size)
1559
1646
  #====================================================================
1560
1647
  title_txt=title_head+"营业成本占营业总成本比例情况"
1561
1648
  items4=["营业成本","营业总成本"]
@@ -1567,29 +1654,34 @@ def income_cost_structure_china(tickers,fsdates,facecolor='papayawhip'):
1567
1654
  notes2="营业总成本包括营业成本、营业税金及附加、三大费用和资产减值损失"
1568
1655
 
1569
1656
  notes=notes1+'\n'+notes2
1570
- dfp4=fs_item_analysis_2(df,ticker,fsdates1,items4,title_txt,notes,facecolor=facecolor)
1657
+ dfp4=fs_item_analysis_2(df,ticker,fsdates1,items4,title_txt,notes, \
1658
+ facecolor=facecolor,font_size=font_size)
1571
1659
 
1572
1660
  title_txt=title_head+"营业成本占营业总收入比例情况"
1573
1661
  items5=["营业成本","营业总收入"]
1574
- dfp5=fs_item_analysis_2(df,ticker,fsdates1,items5,title_txt,facecolor=facecolor)
1662
+ dfp5=fs_item_analysis_2(df,ticker,fsdates1,items5,title_txt, \
1663
+ facecolor=facecolor,font_size=font_size)
1575
1664
 
1576
1665
  title_txt=title_head+"营业成本增幅分析"
1577
1666
  fsdates2=fsdates[:2]
1578
1667
  items12=['营业成本','营业总成本','营业总收入']
1579
- dfp12=fs_item_analysis_6(df,ticker,fsdates2,items12,title_txt,facecolor=facecolor)
1668
+ dfp12=fs_item_analysis_6(df,ticker,fsdates2,items12,title_txt, \
1669
+ facecolor=facecolor,font_size=font_size)
1580
1670
 
1581
1671
  #====================================================================
1582
1672
  title_txt=title_head+"销售费用占营业总收入比例情况"
1583
1673
  items6=["销售费用","营业总收入"]
1584
1674
 
1585
1675
  notes="注:销售费用是企业销售过程中发生的各种费用"
1586
- dfp6=fs_item_analysis_2(df,ticker,fsdates1,items6,title_txt,notes,facecolor=facecolor)
1676
+ dfp6=fs_item_analysis_2(df,ticker,fsdates1,items6,title_txt,notes, \
1677
+ facecolor=facecolor,font_size=font_size)
1587
1678
  #====================================================================
1588
1679
  title_txt=title_head+"管理费用占营业总收入比例情况"
1589
1680
  items7=["管理费用","营业总收入"]
1590
1681
 
1591
1682
  notes="注:管理费用是行政管理部门为组织生产/经营活动发生的各种费用"
1592
- dfp7=fs_item_analysis_2(df,ticker,fsdates1,items7,title_txt,notes,facecolor=facecolor)
1683
+ dfp7=fs_item_analysis_2(df,ticker,fsdates1,items7,title_txt,notes, \
1684
+ facecolor=facecolor,font_size=font_size)
1593
1685
 
1594
1686
  #title_txt=title_head+"三项费用率同行对比"
1595
1687
  title_txt="三项费用率同行对比:"+fsdate
@@ -1605,28 +1697,34 @@ def income_cost_structure_china(tickers,fsdates,facecolor='papayawhip'):
1605
1697
 
1606
1698
  notes=notes1+'\n'+notes2+'\n'+notes3
1607
1699
 
1608
- dfp12=fs_item_analysis_8(df,tickers,fsdate,items14,title_txt,notes,facecolor=facecolor)
1700
+ dfp12=fs_item_analysis_8(df,tickers,fsdate,items14,title_txt,notes, \
1701
+ facecolor=facecolor,font_size=font_size)
1609
1702
  #====================================================================
1610
1703
  title_txt=title_head+"毛利润占营业总收入比例情况"
1611
1704
  items8=["毛利润","营业总收入"]
1612
- dfp8=fs_item_analysis_2(df,ticker,fsdates1,items8,title_txt,facecolor=facecolor)
1705
+ dfp8=fs_item_analysis_2(df,ticker,fsdates1,items8,title_txt, \
1706
+ facecolor=facecolor,font_size=font_size)
1613
1707
  #====================================================================
1614
1708
  title_txt=title_head+"营业利润占营业总收入比例情况"
1615
1709
  items9=["营业利润","营业总收入"]
1616
- dfp8=fs_item_analysis_2(df,ticker,fsdates1,items9,title_txt,facecolor=facecolor)
1710
+ dfp8=fs_item_analysis_2(df,ticker,fsdates1,items9,title_txt, \
1711
+ facecolor=facecolor,font_size=font_size)
1617
1712
  #====================================================================
1618
1713
  title_txt=title_head+"税前利润占营业总收入比例情况"
1619
1714
  items10=["税前利润","营业总收入"]
1620
- dfp9=fs_item_analysis_2(df,ticker,fsdates1,items10,title_txt,facecolor=facecolor)
1715
+ dfp9=fs_item_analysis_2(df,ticker,fsdates1,items10,title_txt, \
1716
+ facecolor=facecolor,font_size=font_size)
1621
1717
  #====================================================================
1622
1718
  title_txt=title_head+"净利润占营业总收入比例情况"
1623
1719
  items11=["净利润","营业总收入"]
1624
- dfp9=fs_item_analysis_2(df,ticker,fsdates1,items11,title_txt,facecolor=facecolor)
1720
+ dfp9=fs_item_analysis_2(df,ticker,fsdates1,items11,title_txt, \
1721
+ facecolor=facecolor,font_size=font_size)
1625
1722
 
1626
1723
  #增幅分析:近两年
1627
1724
  title_txt=title_head+"四种利润对比"
1628
1725
  items13=['毛利润','营业利润','税前利润','净利润']
1629
- dfp11=fs_item_analysis_6(df,ticker,fsdates2,items13,title_txt,facecolor=facecolor)
1726
+ dfp11=fs_item_analysis_6(df,ticker,fsdates2,items13,title_txt, \
1727
+ facecolor=facecolor,font_size=font_size)
1630
1728
 
1631
1729
  #同行比较
1632
1730
  #title_txt=title_head+"利润率同行对比"
@@ -1634,7 +1732,8 @@ def income_cost_structure_china(tickers,fsdates,facecolor='papayawhip'):
1634
1732
  #items15=['营业利润','营业利润率%','税前利润率%','实际所得税率%','净利润','净利润率%']
1635
1733
  #items15=['毛利润率%','营业利润率%','税前利润率%','净利润率%']
1636
1734
  items15=['净利润率%','税前利润率%','营业利润率%','毛利润率%']
1637
- dfp12=fs_item_analysis_8(df,tickers,fsdate,items15,title_txt,facecolor=facecolor)
1735
+ dfp12=fs_item_analysis_8(df,tickers,fsdate,items15,title_txt, \
1736
+ facecolor=facecolor,font_size=font_size)
1638
1737
 
1639
1738
  return
1640
1739
 
@@ -1644,16 +1743,16 @@ if __name__=='__main__':
1644
1743
  fsdates=['2021-12-31','2020-12-31','2019-12-31','2018-12-31']
1645
1744
  cash_flow_structure_china(tickers,fsdates)
1646
1745
 
1647
- def cash_flow_china(tickers,fsdates,facecolor='papayawhip'):
1746
+ def cash_flow_china(tickers,fsdates,facecolor='papayawhip',font_size='16px'):
1648
1747
  """
1649
1748
  套壳函数cash_flow_structure_china
1650
1749
  """
1651
- cash_flow_structure_china(tickers,fsdates,facecolor=facecolor)
1750
+ cash_flow_structure_china(tickers,fsdates,facecolor=facecolor,font_size=font_size)
1652
1751
 
1653
1752
  return
1654
1753
 
1655
1754
 
1656
- def cash_flow_structure_china(tickers,fsdates,facecolor='papayawhip'):
1755
+ def cash_flow_structure_china(tickers,fsdates,facecolor='papayawhip',font_size='16px'):
1657
1756
  """
1658
1757
  功能:分析上市公司的现金流量基本结构,并与同业公司对比。
1659
1758
  注意1:分析近三期情况,fsdates要给出四个报表日期,以便获得期初数。
@@ -1722,23 +1821,27 @@ def cash_flow_structure_china(tickers,fsdates,facecolor='papayawhip'):
1722
1821
  "投资活动现金流净额","投资活动现金流入","投资活动现金流出",
1723
1822
  "筹资活动现金流净额","筹资活动现金流入","筹资活动现金流出",
1724
1823
  "汇率对现金流的影响","现金流量净增加额"]
1725
- dfp1=fs_item_analysis_1(df,ticker,fsdate,items1,title_txt,facecolor=facecolor)
1824
+ dfp1=fs_item_analysis_1(df,ticker,fsdate,items1,title_txt, \
1825
+ facecolor=facecolor,font_size=font_size)
1726
1826
 
1727
1827
  #占比变动分析:近三年
1728
1828
  title_txt=title_head+"经营活动现金流入占比情况"
1729
1829
  fsdates1=fsdates[:3]
1730
1830
  items3=["经营活动现金流入","营业总收入"]
1731
- dfp3=fs_item_analysis_2(df,ticker,fsdates1,items3,title_txt,facecolor=facecolor)
1831
+ dfp3=fs_item_analysis_2(df,ticker,fsdates1,items3,title_txt, \
1832
+ facecolor=facecolor,font_size=font_size)
1732
1833
 
1733
1834
  title_txt=title_head+"经营活动现金流净额占比情况"
1734
1835
  items4=["经营活动现金流净额","营业利润"]
1735
- dfp3=fs_item_analysis_2(df,ticker,fsdates1,items4,title_txt,facecolor=facecolor)
1836
+ dfp3=fs_item_analysis_2(df,ticker,fsdates1,items4,title_txt, \
1837
+ facecolor=facecolor,font_size=font_size)
1736
1838
 
1737
1839
  #增幅分析:近两年
1738
1840
  title_txt=title_head+"经营活动现金流增幅情况"
1739
1841
  fsdates2=fsdates[:2]
1740
1842
  items12=['经营活动现金流入','经营活动现金流出','经营活动现金流净额']
1741
- dfp12=fs_item_analysis_6(df,ticker,fsdates2,items12,title_txt,facecolor=facecolor)
1843
+ dfp12=fs_item_analysis_6(df,ticker,fsdates2,items12,title_txt, \
1844
+ facecolor=facecolor,font_size=font_size)
1742
1845
 
1743
1846
  #同行比较
1744
1847
  title_txt=title_head+"现金收入能力同行比较,"+fsdate
@@ -1753,7 +1856,8 @@ def cash_flow_structure_china(tickers,fsdates,facecolor='papayawhip'):
1753
1856
  notes3="营业现金回笼率 = 经营活动现金流入 / 营业总收入"
1754
1857
 
1755
1858
  notes=notes1+'\n'+notes2+'\n'+notes3
1756
- dfp12=fs_item_analysis_8(df,tickers,fsdate,items16,title_txt,notes,facecolor=facecolor)
1859
+ dfp12=fs_item_analysis_8(df,tickers,fsdate,items16,title_txt,notes, \
1860
+ facecolor=facecolor,font_size=font_size)
1757
1861
 
1758
1862
  title_txt=title_head+"现金偿债能力同行比较,"+fsdate
1759
1863
  items14=['短期现金偿债能力%','长期现金偿债能力%']
@@ -1765,7 +1869,8 @@ def cash_flow_structure_china(tickers,fsdates,facecolor='papayawhip'):
1765
1869
  notes2="长期现金偿债能力 = 经营活动现金流净额 / 负债合计"
1766
1870
 
1767
1871
  notes=notes1+'\n'+notes2
1768
- dfp12=fs_item_analysis_8(df,tickers,fsdate,items14,title_txt,notes,facecolor=facecolor)
1872
+ dfp12=fs_item_analysis_8(df,tickers,fsdate,items14,title_txt,notes, \
1873
+ facecolor=facecolor,font_size=font_size)
1769
1874
 
1770
1875
  title_txt=title_head+"现金支付能力同行比较,"+fsdate
1771
1876
  items15=['现金支付股利能力(元)','现金综合支付能力%','支付给职工的现金比率%']
@@ -1779,7 +1884,8 @@ def cash_flow_structure_china(tickers,fsdates,facecolor='papayawhip'):
1779
1884
  notes3="支付给职工的现金比率 = 支付给(为)职工支付的现金 / 经营活动现金流入"
1780
1885
 
1781
1886
  notes=notes1+'\n'+notes2+'\n'+notes3
1782
- dfp12=fs_item_analysis_8(df,tickers,fsdate,items15,title_txt,notes,facecolor=facecolor)
1887
+ dfp12=fs_item_analysis_8(df,tickers,fsdate,items15,title_txt,notes, \
1888
+ facecolor=facecolor,font_size=font_size)
1783
1889
 
1784
1890
  title_txt=title_head+"财务指标含金量同行比较,"+fsdate
1785
1891
  items17=['盈利现金比率%','现金流入流出比率%','资产现金回收率%']
@@ -1793,7 +1899,8 @@ def cash_flow_structure_china(tickers,fsdates,facecolor='papayawhip'):
1793
1899
  notes3="资产现金回收率 = 经营活动现金流净额 / 资产总计"
1794
1900
 
1795
1901
  notes=notes1+'\n'+notes2+'\n'+notes3
1796
- dfp12=fs_item_analysis_8(df,tickers,fsdate,items17,title_txt,notes,facecolor=facecolor)
1902
+ dfp12=fs_item_analysis_8(df,tickers,fsdate,items17,title_txt,notes, \
1903
+ facecolor=facecolor,font_size=font_size)
1797
1904
 
1798
1905
  return
1799
1906
 
@@ -1852,7 +1959,7 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
1852
1959
  category='profile',business_period='recent', \
1853
1960
  printout=False,gview=False, \
1854
1961
  loc1='upper left',loc2='upper right', \
1855
- facecolor='papayawhip'):
1962
+ facecolor='papayawhip',font_size='16px'):
1856
1963
  """
1857
1964
  【功能】财务报表分析,仅适用于中国A股,注意不适用于港股和美股(含中概股)
1858
1965
 
@@ -1923,7 +2030,7 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
1923
2030
  fsdates=gen_yoy_dates(fsdates,num=4)
1924
2031
 
1925
2032
  # 分析资产负债表
1926
- asset_liab_china(tickers,fsdates,facecolor=facecolor)
2033
+ asset_liab_china(tickers,fsdates,facecolor=facecolor,font_size=font_size)
1927
2034
  return
1928
2035
 
1929
2036
  elif ('income' in analysis_type1) or ('cost' in analysis_type1) \
@@ -1936,7 +2043,7 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
1936
2043
  fsdates=gen_yoy_dates(fsdates,num=4)
1937
2044
 
1938
2045
  # 分析利润表
1939
- income_cost_china(tickers,fsdates,facecolor=facecolor)
2046
+ income_cost_china(tickers,fsdates,facecolor=facecolor,font_size=font_size)
1940
2047
  return
1941
2048
 
1942
2049
  elif ('cash' in analysis_type1) or ('flow' in analysis_type1):
@@ -1948,7 +2055,7 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
1948
2055
  fsdates=gen_yoy_dates(fsdates,num=4)
1949
2056
 
1950
2057
  # 分析现金流量表
1951
- cash_flow_china(tickers,fsdates,facecolor=facecolor)
2058
+ cash_flow_china(tickers,fsdates,facecolor=facecolor,font_size=font_size)
1952
2059
  return
1953
2060
 
1954
2061
  elif ('summary' in analysis_type1):
@@ -1973,7 +2080,7 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
1973
2080
 
1974
2081
  # 分析财报摘要
1975
2082
  from siat.financials_china import compare_fin_summary_china
1976
- df_summary=compare_fin_summary_china(tickers,fsdates,facecolor=facecolor)
2083
+ df_summary=compare_fin_summary_china(tickers,fsdates,facecolor=facecolor,font_size=font_size)
1977
2084
  return
1978
2085
 
1979
2086
  elif ('indicator' in analysis_type1):
@@ -1998,7 +2105,7 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
1998
2105
 
1999
2106
  # 分析主要财务指标和比率
2000
2107
  from siat.financials_china import compare_fin_indicator_china
2001
- df_ind=compare_fin_indicator_china(tickers,fsdates,facecolor=facecolor)
2108
+ df_ind=compare_fin_indicator_china(tickers,fsdates,facecolor=facecolor,font_size=font_size)
2002
2109
  return
2003
2110
 
2004
2111
  elif ('profile' in analysis_type1):
@@ -2008,7 +2115,8 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
2008
2115
  return
2009
2116
 
2010
2117
  # 分析单只股票的全方位概况
2011
- stock_profile_china(tickers,category,business_period,loc1=loc1,loc2=loc2,facecolor=facecolor)
2118
+ stock_profile_china(tickers,category,business_period,loc1=loc1,loc2=loc2, \
2119
+ facecolor=facecolor,font_size=font_size)
2012
2120
  return
2013
2121
 
2014
2122
  elif ('dupont' in analysis_type1) and (('identity' in analysis_type1) or ('analysis' in analysis_type1)):
@@ -2026,7 +2134,8 @@ def fs_analysis_china(tickers,fsdates=[],analysis_type='balance sheet', \
2026
2134
 
2027
2135
  # 多只股票的杜邦分析对比
2028
2136
  from siat.financials_china import compare_dupont_china
2029
- df_db=compare_dupont_china(tickers,fsdate=fsdates,printout=printout,facecolor=facecolor)
2137
+ df_db=compare_dupont_china(tickers,fsdate=fsdates,printout=printout, \
2138
+ facecolor=facecolor,font_size=font_size)
2030
2139
  return
2031
2140
 
2032
2141
  elif ('dupont' in analysis_type1) and ('decompose' in analysis_type1):