python+聚宽 统计A股市场个股在某时间段的最高价、最低价及其时间

使用工具pycharm + 聚宽数据源,统计A股市场个股在某时间段的最高价、最低价及其时间,并打印excel表格输出

from jqdatasdk import *
import pandas as pd
import logging
import sys
logger = logging.getLogger("logger")
logger.setLevel(logging.INFO)

# 聚宽数据账户名和密码设置
auth('username','password')

#获取A股列表,包括代号,名称,上市退市时间等。
security = get_all_securities(types=[], date=None)
pd2 = get_all_securities(['stock'])


# 获取股票代号
stocks = list(get_all_securities(['stock']).index)

# 获取股票名称
stocknames = pd2['display_name']

start_date = '2015-01-01'
end_date = '2018-12-31'
def get_stocks_high_low(start_date,end_date):
    # 新建表,表头列 
    # 为:"idx","stockcode","stockname","maxvalue","maxtime","lowvalue","lowtime"
    result = pd.DataFrame(columns=["idx", "stockcode", "stockname", "maxvalue", "maxtime", "lowvalue", "lowtime"])
    for i in range(0,stocks.__len__()-1):
         pd01 = get_price(stocks[i], start_date, end_date, frequency='daily',                 
                fields=None, skip_paused=False,fq='pre', count=None)
        result=result.append(pd.DataFrame({'idx':[i],'stockcode':[stocks[i]],'stockname':    
               [stocknames[i]],'maxvalue':[pd01['high'].max()],'maxtime': 
               [pd01['high'].idxmax()],'lowvalue': [pd01['low'].min()], 'lowtime': 
               [pd01['low'].idxmin()]}),ignore_index=True)

    result.to_csv("stock_max_min.csv",encoding = 'utf-8', index = True)
    logger.warning("执行完毕!")
### 绘制包含开盘价、最高价最低价和收盘价的K线图 为了绘制包含开盘价、最高价最低价和收盘价的K线图(蜡烛图),可以使用 `mplfinance` 库,这是一个专门为金融数据分析设计的强大工具。以下是具体实现方法: #### 安装所需库 在开始之前,需要确保已经安装了必要的 Python 库。可以通过 pip 工具来完成这些库的安装。 ```bash pip install mplfinance pandas tushare ``` #### 获取票数据 首先,利用 Tushare API 来获取所需的票历史行情数据。Tushare 是一个免费且易于使用的财经接口平台,能够提供丰富的金融市场数据服务。 ```python import tushare as ts import warnings warnings.filterwarnings('ignore') ts.set_token('your_own_token_here') # 替换为你自己的 Token pro = ts.pro_api() def fetch_stock_data(stock_code): """Fetch daily trading data of a specific stock.""" df = pro.daily(ts_code=stock_code, start_date='20200101', end_date='20200331') df['trade_date'] = pd.to_datetime(df['trade_date']) df.sort_values(by=['trade_date'], inplace=True) df.reset_index(drop=True, inplace=True) return df[['trade_date', 'open', 'high', 'low', 'close']] df = fetch_stock_data('300760.SZ') # Example with Mindray Medical (迈瑞医疗) print(df.head()) ``` #### 使用 `mplfinance` 绘制 K 线图 接下来,通过调用 `mplfinance.plot()` 函数轻松地创建出美观大方的 K 线图。此函数允许自定义样式和其他参数以满足不同需求。 ```python import mplfinance as mpf mpf.plot( df, type='candle', style='yahoo', title="Mindray Medical Stock Price", ylabel='Price ($)', volume=False, mav=(5, 10), show_nontrading=False ) plt.show() ``` 这段代码会生成一张标准的 K 线图,其中包含了选定时间范围内的每日交易信息,并应用 Yahoo 风格的主题配色方案[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值