获取股票涨停信息

 	/**
     * 获取涨停股票信息
     */
    public function trading()
    {
        $data = date('Ymd',time());
        $url = "http://push2ex.eastmoney.com/getTopicZTPool?cb=&ut=7eea3edcaed734bea9cbfc24409ed989&dpt=wz.ztzt&Pageindex=0&pagesize=200&sort=fbt%3Aasc&date=$data";
        $list = file_get_contents($url);
        $list = json_decode($list,true);
        $list = $list['data']['pool'];
        $ids = [];
        foreach ($list as $key=>$v){
            $code = $v['c'];
            $name = $v['n'];
            $url = "http://static.tdx.com.cn:7615/site/tdxf10/gg_jyds/$code.html?vertype=1&style=black&gp=$code&ispc=1&8517=5390";
            $html = file_get_contents($url);
            $pattern = '/window\[\'tql\.CWServ\.tdxf10_gg_jyds_\d+_ztfx_\'\]="(.*)";/U';
            preg_match($pattern,$html,$dir);
            $data = str_replace('\\','',$dir['1']);
            $data = json_decode($data,true);
            if (empty($data['ResultSets']['0']['Content'])){
                continue;//不存在跳出
            }
            $data = $data['ResultSets']['0']['Content']['0'];
            $speech = $data['3'].','.$name.','.'涨停主题'.','.$data['5'];
            $info = Db::name('trading')->where(['code'=>$code,'name'=>$name])->whereTime('addtime','today')->find();
            if ($info){continue;}//信息插入跳出
            $path = $this->speech($speech);
            $add = [
                'code' => $code,
                'name' => $name,
                'introduce'=>$speech,
                'path' => $path,
                'addtime'=>time()
            ];
            if (empty($info)){
               $id = Db::name('trading')->insertGetId($add);
               $ids[] = $id;
            }
        }
            $msg = Db::name('trading')->where('id','in',$ids)->select();
            foreach ($msg as $k=>$item){
                $msg[$k]['addtime'] = date('Y-m-d H:i:s',$item['addtime']);
            }
            if (empty($msg)){
                return json(['code'=>0,'msg'=>'暂无数据']);
            }else{
                return json(['code'=>1,'msg'=>'','data'=>$msg]);
            }

    }
  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: 首先,您需要有获取股票数据的工具,比如使用第三方库如 `pandas-datareader` 或者自己编写爬虫程序从股票交易所网站获取数据。 然后,您可以使用 `pandas` 库中的数据分析工具,例如 `DataFrame.loc` 和 `DataFrame.apply` 等,来筛选出昨天涨停股票。 下面是一个示例代码,假设已经获取了昨天的股票数据,保存在 `stock_data` 这个 `DataFrame` 中: ```python yesterday_stock_data = stock_data[stock_data.index == '2022-12-29'] def is_limit_up(row): return row['close'] == row['upper_limit'] limit_up_stocks = yesterday_stock_data[yesterday_stock_data.apply(is_limit_up, axis=1)] ``` 在这段代码中,首先选出了昨天的股票数据,然后定义了一个函数 `is_limit_up`,用来判断某只股票是否涨停。最后使用 `apply` 方法,在每一行(即每只股票)上执行这个函数,得到一个布尔型的结果,使用这个结果作为条件筛选出昨天涨停股票。 这只是一个示例代码,具体实现方法可能会有所不同,但大致思路应该是这样的。希望这能对您有所帮助。 ### 回答2: 获取昨天涨停股票的python方法可以通过以下步骤实现: 1. 导入所需的库:在Python中,我们可以使用pandas来处理数据,使用tushare来获取股票数据。 ``` import pandas as pd import tushare as ts ``` 2. 获取昨天的日期:可以使用datetime库来获取昨天的日期。 ``` from datetime import datetime, timedelta today = datetime.now().strftime("%Y-%m-%d") yesterday = (datetime.now() - timedelta(days=1)).strftime("%Y-%m-%d") ``` 3. 获取股票数据:使用tushare来获取昨天的股票行情数据。 ``` df = ts.get_today_all() # 获取所有股票的行情数据 df = df[df['changepercent'] >= 9.8] # 筛选涨幅大于等于9.8%的股票 df = df[df['trade'] != df['high']] # 筛选非一字涨停股票 df = df[df['date'] == yesterday] # 筛选日期为昨天的股票 ``` 4. 输出结果:将筛选出的股票数据输出。 ``` print(df[['code', 'name', 'trade', 'changepercent']]) ``` 以上就是获取昨天涨停股票的python方法,通过导入所需的库,获取昨天的日期,获取股票数据,再输出结果,可以实现这一功能。 ### 回答3: 获取昨天涨停股票的python方法可以通过以下步骤实现: 首先,我们需要导入相应的库,包括pandas、numpy和tushare。pandas库用于数据处理,numpy库用于数值计算,tushare库用于获取股票数据。 其次,我们需要使用tushare库提供的函数获取昨天的股票交易数据。首先,使用tushare库的get_hist_data函数获取历史交易数据,设置参数start为昨天的日期、end为昨天的日期、retry_count为3以确保获取成功。例如,可以使用以下代码获取昨天的股票交易数据: import tushare as ts yesterday = (datetime.date.today() - datetime.timedelta(days=1)).strftime("%Y-%m-%d") df = ts.get_hist_data('股票代码', start=yesterday, end=yesterday, retry_count=3) 其中,'股票代码'需要替换为需要查询的具体股票代码。 接下来,我们可以对获取到的昨天的股票交易数据进行筛选和处理。我们可以使用pandas库的DataFrame函数将数据转换为数据框形式,然后使用条件筛选函数对数据进行筛选。例如,可以使用以下代码筛选涨停股票: zhangting_df = df[df["p_change"] == 10.0] 其中,"p_change"是收盘价相对于前一天的变化百分比的字段。 最后,我们可以将筛选出的涨停股票结果输出或进行进一步的分析和处理。 综上所述,获取昨天涨停股票的python方法包括导入相应的库、使用tushare库获取昨天的股票交易数据、对数据进行筛选和处理,最后输出结果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值