我这几天把程序打包了程序完全支持第三方库调用服务器数据,我简单的写了一些例子api,可以完全利用代码调用数据
点击数据界面的结果
随便点击一个数据
或到的数据
可以在文件夹下面的数据看到,自动下载
比如点击可转债热度
数据表自动下载
强大的自定义函数,点击自定义函数
点击运行
数据表自动下载
比如调akshare,复制代码过来就可以,返回的值必须是df
复制过来的代码
import akshare as ak
stock_hot_rank_em_df = ak.stock_hot_rank_em()
print(stock_hot_rank_em_df)
在程序里面直接执行的代码,必须保留df
import akshare as ak
stock_hot_rank_em_df = ak.stock_hot_rank_em()
print(stock_hot_rank_em_df)
df=stock_hot_rank_em_df
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
点击获取获取数据
数据表自动下载
获取程序直接回复20240221就可以
数据分析与运用
很高兴和志同道合的你们一起学习,本公众号分享金融知识,大家一起相互学习,信息分享如有侵权,或者没有作者的同意,我们将撤回,同时也感谢大家积极的分享,大家的支持。让我们一起加油
279篇原创内容
公众号
更多的内容可以加入知识星球给大家最后3张优惠券
api接口源代码
import pandas as pd
import json
import requests
import os
class xg_financial_database:
'''
小果金融数据库
'''
def __init__(self,url='http://120.78.132.143',port=8023,password='123456'):
'''
小果金融数据库
url服务器网页
port端口
password授权码
'''
self.url=url
self.port=port
self.password=password
self.path=os.path.dirname(os.path.abspath(__file__))
def get_user_info(self):
'''
获取用户信息
'''
url='{}:{}/_dash-update-component'.format(self.url,self.port)
headers={'Content-Type':'application/json'}
data={
"output":"finace_data_table_1.data@c28c1f466316fd80f79b58b2e7baab2f",
"outputs":{"id":"finace_data_table_1","property":"data@c28c1f466316fd80f79b58b2e7baab2f"},
"inputs":[{"id":"finace_data_password","property":"value","value":"{}".format(self.password)},
{"id":"finace_data_data_type","property":"value","value":"代码"},
{"id":"finace_data_text","property":"value","value":"from trader_tool.stock_data import stock_data\nstock_data=stock_data()\ndf=stock_data.get_stock_hist_data_em(stock='600031',start_date='20210101',end_date='20600101',data_type='D',count=8000)\ndf.to_csv(r'{}\\数据\\{}数据.csv')\n \n "},
{"id":"finace_data_run","property":"value","value":"运行"},
{"id":"finace_data_down_data","property":"value","value":"不下载数据"}],
"changedPropIds":["finace_data_run.value"]}
res=requests.post(url=url,data=json.dumps(data),headers=headers)
text=res.json()
df=pd.DataFrame(text['response']['finace_data_table_1']['data'])
return df
def get_user_def_data(self,func=''):
'''
自定义数据获取
调用数据库
'''
text=self.params_func(text=func)
func=text
info=self.get_user_info()
print(info)
url='{}:{}/_dash-update-component'.format(self.url,self.port)
headers={'Content-Type':'application/json'}
data={"output":"finace_data_table.data@c28c1f466316fd80f79b58b2e7baab2f",
"outputs":{"id":"finace_data_table","property":"data@c28c1f466316fd80f79b58b2e7baab2f"},
"inputs":[{"id":"finace_data_password","property":"value","value":"{}".format(self.password)},
{"id":"finace_data_data_type","property":"value","value":"代码"},
{"id":"finace_data_text","property":"value","value":"{}".format(func)},
{"id":"finace_data_run","property":"value","value":"运行"},
{"id":"finace_data_down_data","property":"value","value":"不下载数据"}],
"changedPropIds":["finace_data_run.value"]}
res=requests.post(url=url,data=json.dumps(data),headers=headers)
text=res.json()
df=pd.DataFrame(text['response']['finace_data_table']['data'])
return info, df
def params_func(self,text=''):
'''
解析函数
'''
data_list=[]
f=text.split('\n')
for i in f:
text=i.strip().lstrip()
data_list.append(text)
func='\n'.join(data_list)
return func
def get_all_etf_data(self):
'''
获取全部的etf数据
'''
func="""
from trader_tool.dfcf_etf_data import dfcf_etf_data
data=dfcf_etf_data()
df=data.get_all_etf_data()
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_bond_etf_data(self):
'''
获取债券的etf数据
'''
func="""
from trader_tool.dfcf_etf_data import dfcf_etf_data
data=dfcf_etf_data()
df=data.get_bond_etf_data()
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_sz_sh_etf(self):
'''
获取A股ETF数据
'''
func="""
from trader_tool.dfcf_etf_data import dfcf_etf_data
data=dfcf_etf_data()
df=data.get_sz_sh_etf()
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_wp_etf_data(self):
'''
获取外盘ETF数据
'''
func="""
from trader_tool.dfcf_etf_data import dfcf_etf_data
data=dfcf_etf_data()
df=data.get_wp_etf_data()
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_sp_etf_data(self):
'''
获取商品ETF数据
'''
func="""
from trader_tool.dfcf_etf_data import dfcf_etf_data
data=dfcf_etf_data()
df=data.get_sp_etf_data()
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_hot_spot_investment(self):
'''
获取ETF热点投资数据
'''
func="""
from trader_tool.dfcf_etf_data import dfcf_etf_data
data=dfcf_etf_data()
df=data.get_hot_spot_investment()
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_hot_spot_investment(self):
'''
获取ETF热点投资数据
'''
func="""
from trader_tool.dfcf_etf_data import dfcf_etf_data
data=dfcf_etf_data()
df=data.get_hot_spot_investment()
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_limit_up_pool(self,date='20240126'):
'''
获取涨停板数据
'''
func="""
from trader_tool.ths_limitup_data import ths_limitup_data
data=ths_limitup_data()
df=data.read_func_data(func="self.get_limit_up_pool(date={})")
print(df)
""".format(date)+"""
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_limit_up(self,date=''):
'''
冲刺涨停
'''
func="""
from trader_tool.ths_limitup_data import ths_limitup_data
data=ths_limitup_data()
df=data.read_func_data(func="self.get_limit_up(date={})")
print(df)
""".format(date)+"""
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_continuous_limit_pool(self,date='20230925'):
'''
连扳
'''
func="""
from trader_tool.ths_limitup_data import ths_limitup_data
data=ths_limitup_data()
df=data.read_func_data(func="self.get_continuous_limit_pool(date={})")
print(df)
""".format(date)+"""
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_open_limit_pool(self,date='20230925'):
'''
炸板池
'''
func="""
from trader_tool.ths_limitup_data import ths_limitup_data
data=ths_limitup_data()
df=data.read_func_data(func="self.get_open_limit_pool(date={})")
print(df)
""".format(date)+"""
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_lower_limit_pool(self,date='20230101'):
'''
跌停
'''
func="""
from trader_tool.ths_limitup_data import ths_limitup_data
data=ths_limitup_data()
df=data.read_func_data(func="self.get_lower_limit_pool(date={})")
print(df)
""".format(date)+"""
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_block_top_pool(self,date='20230101'):
'''
最强风口
'''
func="""
from trader_tool.ths_limitup_data import ths_limitup_data
data=ths_limitup_data()
df=data.read_func_data(func="self.get_block_top_pool(date={})")
print(df)
""".format(date)+"""
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_analysis_block_top_pool(self,date='20240101'):
'''
解析最强风口
'''
func="""
from trader_tool.ths_limitup_data import ths_limitup_data
data=ths_limitup_data()
df=data.read_func_data(func="self.get_analysis_block_top_pool(date={})")
print(df)
""".format(date)+"""
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_stock_continuous_limit_up(self,date='20240101'):
'''
连扳天梯
'''
func="""
from trader_tool.ths_limitup_data import ths_limitup_data
data=ths_limitup_data()
df=data.read_func_data(func="self.get_stock_continuous_limit_up(date={})")
print(df)
""".format(date)+"""
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_hot_stock_rank(self):
func="""
from trader_tool.ths_rq import ths_rq
models=ths_rq()
df=models.get_hot_stock_rank()
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_stock_concept_rot_rank(self):
func="""
from trader_tool.ths_rq import ths_rq
models=ths_rq()
df=models.get_stock_concept_rot_rank()
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_stock_industry_rot_rank(self):
func="""
from trader_tool.ths_rq import ths_rq
models=ths_rq()
df=models.get_stock_industry_rot_rank()
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_etf_hot_rank(self):
func="""
from trader_tool.ths_rq import ths_rq
models=ths_rq()
df=models.get_etf_hot_rank()
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_cov_bond_rot_rank(self):
func="""
from trader_tool.ths_rq import ths_rq
models=ths_rq()
df=models.get_cov_bond_rot_rank()
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_HK_stock_rot_rank(self):
func="""
from trader_tool.ths_rq import ths_rq
models=ths_rq()
df=models.get_HK_stock_rot_rank()
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_US_stock_rot_rank(self):
func="""
from trader_tool.ths_rq import ths_rq
models=ths_rq()
df=models.get_US_stock_rot_rank()
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
def get_futurn_hot_rank(self):
func="""
from trader_tool.ths_rq import ths_rq
models=ths_rq()
df=models.get_futurn_hot_rank()
print(df)
df.to_csv(r'{}\数据\{}数据.csv')
"""
info,df=self.get_user_def_data(func=func)
return info,df
if __name__=='__main__':
data=xg_financial_database(password='123456')
info,df=data.get_limit_up_pool(date='20240207')
print(df)