Update .gitignore and add files.

This commit is contained in:
2024-10-05 16:38:23 +08:00
parent a48dd47ebe
commit 50bbcd7ca5
21 changed files with 9531 additions and 7 deletions

View File

@ -10,11 +10,17 @@ import argparse
default_min_stat_years = 5
allowed_min_stat_years = [3, 5] # 允许的年份统计范围
default_debug = False
default_market_key = "hs300"
allowed_market_keys = ['hs300', 'sp500']
# 配置命令行参数
def parse_arguments():
parser = argparse.ArgumentParser(description="Run stock yield statistics.")
# 添加 min_stat_years 参数
parser.add_argument('--market', type=str, choices=allowed_market_keys,
help=f'Set market key for statistics (allowed: {allowed_market_keys}). Default is {default_market_key}.')
# 添加 min_stat_years 参数
parser.add_argument('--min_stat_years', type=int, choices=allowed_min_stat_years,
help=f'Set minimum years for statistics (allowed: {allowed_min_stat_years}). Default is {default_min_stat_years}.')
@ -27,18 +33,19 @@ def parse_arguments():
# 如果没有提供 --min_stat_years使用默认值
min_stat_years = args.min_stat_years if args.min_stat_years else default_min_stat_years
debug = args.debug if args.debug else default_debug
market_key = args.market if args.market else default_market_key
return min_stat_years, debug
return min_stat_years, debug, market_key
# 获取用户输入的参数
min_stat_years, debug = parse_arguments()
min_stat_years, debug, market_key = parse_arguments()
# 配置日志格式
formatter = logging.Formatter('%(asctime)s %(levelname)s [%(filename)s:%(lineno)d] - %(message)s')
# 动态生成日志文件名,基于 min_stat_years 的值
log_filename = f'./log/stat_yield_{min_stat_years}years_rate.log'
log_filename = f'./log/stat_yield_{market_key}_{min_stat_years}years_rate.log'
file_handler = logging.FileHandler(log_filename)
file_handler.setFormatter(formatter)
@ -65,7 +72,7 @@ table_mapping = {
},
"sp500": {
"codes": "sp500",
"his_data": "sp500_qfq_his",
"his_data": "sp500_qfq_his_202410",
"stat_res": f"sp500_{min_stat_years}years_yield_stats_2410"
}
}
@ -272,4 +279,4 @@ def main(index_name):
connection.close()
if __name__ == "__main__":
main("hs300")
main(market_key)