函数的调用
stockID = "601318.SH"
start_time = "20150101"
end_time = "20230401"
# step1:数据获取
# get_stock_data(stockID,start_time,end_time)
# step2:数据预处理
org_data_file = "./data/" stockID.split(".")[0] ".csv"
data_processed = data_preprocess(org_data_file)
# step3:数据基础信息分析
basic_analysis(data_processed)
# step4:周期效应分析和可视化
cycle_list = ["Weekday","Month","Quarter"]
cycle_scale_list = ["whole","yearly"]
for cycle in cycle_list:
for cycle_scale in cycle_scale_list:
print(目前正在进行” cycle "的" cycle_scale “周期效应及可视化分析:”
cycle_effect = cycle_effect_analysis(data_processed,cycle,cycle_scale)
visual_cycle_effect(cycle_effect,cycle_scale)
# step5:节日效应分析及可视化
#读取处理好的数据
data_processed.head()
df = data_processed[["Close"]]
df.index = pd.to_datetime(df.index, format="%Y-%m-%d") # 将Date列转换为datetime格式
df["Return"] = df["Close"].pct_change()
df["Year"] = df.index.year
df.dropna(inplace=True)
spring_dict = { "2015": ("2015-02-18", "2015-02-24"),
"2016": ("2016-02-06", "2016-02-12"),
"2017": ("2017-01-27", "2017-02-02"),
"2018": ("2018-02-15", "2018-02-21"),
"2019": ("2019-02-04", "2019-02-10"),
"2020": ("2020-01-24", "2020-01-30"),
"2021": ("2021-02-11", "2021-02-17"),
"2022": ("2022-01-31", "2022-02-06"),
"2023": ("2023-01-21", "2023-01-27")}
laborday_dict = {str(year): (f"{year}-05-01", f"{year}-05-03") for year in range(int(start_time[0:4]), int(end_time[0:4]))}
nationalday_dict = {str(year): (f"{year}-10-01", f"{year}-10-07") for year in range(int(start_time[0:4]), int(end_time[0:4]))}
holiday_list=["spring","laborday","nationalday"]
holiday_dict_list=[spring_dict,laborday_dict,nationalday_dict]
pre_days_list = [20,7,7]
post_days_list = [15,7,7]
for i in range(len(holiday_dict_list)):
print(目前正在进行” holiday_list[i] 节日效应分析及可视化:"
holiday_dict = holiday_dict_list[i]
pre_days = pre_days_list[i]
post_days = post_days_list[i]
pre_holiday_effect,post_holiday_effect = holiday_effect_analysis(df,holiday_dict,pre_days,post_days)
visual_holiday_effect(pre_holiday_effect,post_holiday_effect,pre_days,post_days)
文章为作者独立观点,不代表股票交易接口观点