fix: 🐛fixbugs

main
jackluson 3 years ago
parent 0e43dcf142
commit 999f59b288

@ -17,30 +17,17 @@ from fund_info.statistic import FundStatistic
# cursor = connect().cursor()
if __name__ == '__main__':
each_statistic = FundStatistic()
fund_code_pool = ['000001', '160133', '360014', '420002',
'420102', '000409', '000418', '000746',
'000751', '000884', '000991', '001043',
'001054', '001104', '001410', '001473',
'519714', '000003', '000011', '000029']
stock_top_list = each_statistic.all_stock_fund_count(
quarter_index="2020-Q4",
fund_code_pool=fund_code_pool,
filter_count=0)
print('2020-Q4 top 100 股票')
pprint(stock_top_list)
print(len(stock_top_list))
def stocks_compare(stock_list, fund_code_pool=None):
each_statistic = FundStatistic()
filter_list = []
for stock in stock_top_list:
for stock in stock_list:
stock_name = stock[0]
stock_sum = stock[1]
stock_quarter_count_tuple = each_statistic.item_stock_fund_count(
stock_name
stock_name,
fund_code_pool
)
try:
last_count_tuple = stock_quarter_count_tuple[len(
@ -67,5 +54,25 @@ if __name__ == '__main__':
if diff_percent == "+∞" or not float(diff_percent.rstrip('%')) < -20:
filter_list.append(item_tuple)
print(item_tuple)
return filter_list
if __name__ == '__main__':
each_statistic = FundStatistic()
fund_code_pool = ['000001', '160133', '360014', '420002',
'420102', '000409', '000418', '000746',
'000751', '000884', '000991', '001043',
'001054', '001104', '001410', '001473',
'519714', '000003', '000011', '000029']
stock_top_list = each_statistic.all_stock_fund_count(
quarter_index="2021-Q1",
fund_code_pool=None,
filter_count=0)
# print('2020-Q4 top 100 股票')
# pprint(stock_top_list)
print(len(stock_top_list))
filter_list = stocks_compare(stock_top_list)
pprint(filter_list)
pprint(len(filter_list))

@ -119,9 +119,10 @@ class FundQuery:
def select_special_stock_fund_count(self, stock_name, fund_code_pool=None):
stock_sql_join = '('
for index in range(10):
escape_name = stock_name.replace("'", "\\'")
stock_sql_join = stock_sql_join + \
"t.top_stock_%s_name = '%s' or " % (
str(index), stock_name)
"t.top_stock_{0}_name = '{1}' or ".format(
str(index), escape_name)
stock_sql_join = stock_sql_join[0:-3] + ')'
fund_code_list_sql = ''
# 判断是否传入fund_code_pool
@ -131,9 +132,10 @@ class FundQuery:
list_str = ', '.join(fund_code_pool)
fund_code_list_sql = "t.fund_code IN (" + list_str + ") AND "
sql_query_sqecial_stock_fund_count = "SELECT count(1) as count, quarter_index FROM fund_morning_stock_info as t WHERE t.stock_position_total > 20 AND " + \
fund_code_list_sql + \
stock_sql_join + " GROUP BY t.quarter_index;" # 大于20%股票持仓基金
fund_code_list_sql + stock_sql_join + \
" GROUP BY t.quarter_index;" # 大于20%股票持仓基金
self.cursor.execute(sql_query_sqecial_stock_fund_count) # 执行sql语句
print(self.cursor._last_executed)
results = self.cursor.fetchall() # 获取查询的所有记录
return results

Loading…
Cancel
Save