股票数据分析

股票数据分析

前面我们介绍了Spark 和 Spark SQL,今天我们就使用 Spark SQL来分析一下我们的数据,今天我们主要分析一下股票数据

数据准备

这里郑重申明,我们的全部数据来自tushare, tushare 是一个免费提供各类金融数据 , 助力智能投资与创新型投资的社区,也鼓励大家对社区多多支持和赞助。

交易数据

我们拿到了最近几年的交易数据

image-20211102135832078

下面是具体的数据格式,csv 文件,ts_code 对于的是一个股票代码

image-20211102140032431

股票详情数据

image-20211102140145915

日期数据

因为股票市场不是天天开的,只有交易日才开门,下面就是我们的交易日数据

image-20211102140309350

数据分析

当然这里我们的分析并不是教大家去怎么买卖股票,我们的目标是为了学习Spark ,所以我们下面就有一些例子,当然大家也可以自行去补充

统计每天的成交额

下面我们统计一下每天的成交额,这也是最简单的了

def lastDaysamount(): Unit ={sql("""|select|   trade_date,sum(amount) as amount|from|   trade|group by|   trade_date|order by|   trade_date desc|limit|   20|""".stripMargin).show(20,false)}

统计结果

+----------+---------------------+
|trade_date|amount               |
+----------+---------------------+
|20211101  |1.2228828557399983E12|
|20211029  |1.1381616219410015E12|
|20211028  |1.1072842704220002E12|
|20211027  |1.0765778557610035E12|
|20211026  |1.0821421444879968E12|
|20211025  |1.0145576773829996E12|
|20211022  |1.0149981487659999E12|
|20211021  |9.92753188046003E11  |
|20211020  |1.0197585589460028E12|
|20211019  |9.730877555890015E11 |
|20211018  |1.0019797845380023E12|
|20211015  |9.888019904729999E11 |
|20211014  |8.606463289579985E11 |
|20211013  |8.894112029519983E11 |
|20211012  |9.962537488750033E11 |
|20211011  |9.918985312839995E11 |
|20211008  |1.0603440896720006E12|
|20210930  |9.502251816350017E11 |
|20210929  |1.0775000013559976E12|
|20210928  |1.043524548934001E12 |
+----------+---------------------+

过去n天连续涨停的票

这个分析是这样的,用户输入一个数字n则代表的是过去n天,我们要做的的是筛选出过去连涨停n天、连涨停n-1天、连涨停n-2天一直到n-(n-1)天连续涨停的票,其实这个实现起来还是有一定难度的,因为这里有个累积的效果,而且就是连续涨停n天的票一定是涨停n-1天的,但是我们需要将它算在n 天里而不是n-1天,还 有就是我们的连续涨停是相对昨天的,例如昨天前天就是连续两次涨停,昨天前天大前天就是连续三次涨停。

数据准备
def main(args: Array[String]): Unit = {// 股票交易数据val data=spark.read.option("header", true).csv(path).select("ts_code","trade_date","open","high","low","close","pre_close","change","pct_chg","vol","amount")// close 收盘价   pre_close 昨收价  change 涨跌额  pct_chg 	涨跌幅   vol 成交量 (手)  amount	 成交额 (千元)data.createOrReplaceTempView("trade")// 股票基本数据val stocks=spark.read.option("header", true).csv(stocksPath)stocks.createOrReplaceTempView("stocks")// 连续涨停的方法 lastContinueDays(5)}
for循环实现

因为直接使用SQL很难实现,所以我们这里使用了混合编程的方式,也就是借助scala 的for 循环和SQL 来配合实现

/**** @param n 连续多少天*/
def lastContinueDays(n:Int): Unit ={// 因为我们的n 是指n个交易日的数据,这里为了方便所以我们直接多取了一段时间的数据,直接来了个2倍,好的做法是你取dates 里面查val startDate = LocalDate.now().plusDays(-2*n).format(DateTimeFormatter.ofPattern("yyyyMMdd"))// 创建了一个空的实图,后面需要把for 循环里面的数据放到这个试图里面sql("""|select|   0 as days,null as ts_code,null as name,null as industry,null as market|""".stripMargin).createOrReplaceTempView("base")// 循环实现上面的效果for(i <- 1 to n){sql(s"""|select|  ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount,rn|from(|   select|      ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount,row_number() over(partition by ts_code order by trade_date desc) as rn|   from|      trade|   where|     -- 时间要换掉 大致的过滤条件|     trade_date>='${startDate}'|)tmp|where|   -- 过去多少天|   rn<=$i|""".stripMargin).createOrReplaceTempView("continuedays")// 更新数据到试图里sql(s"""|select|   $i as days,a.ts_code,b.name,b.industry,b.market|from(|   select|      ts_code|   from(|     select-- pct_chg >=9.8涨停的定义|        ts_code,count(if(pct_chg>=9.8,ts_code,null)) as cnt|     from|        continuedays|     group by|        ts_code|   )tmp|   where|      cnt>=$i|) a|inner join|   stocks b|on|  a.ts_code=b.ts_code|union-- 获取到上一次for 循环的结果 |select|   days,ts_code,name,industry,market|from|   base|""".stripMargin).createOrReplaceTempView("base")// 展示最后的结果sql("""|select|   days,ts_code,name,industry,market|from(|   select|      days,ts_code,name,industry,market,row_number()over(partition by ts_code order by days desc) as rn|   from|      base|)tmp|where|  rn=1|  and days!=0|order by|   days|""".stripMargin).show(2000,false)}

我们看一下我们最终的效果,days 就是涨停的天数

+----+---------+-----------+--------+------+
|days|ts_code  |name       |industry|market|
+----+---------+-----------+--------+------+
|1   |603738.SH|泰晶科技   |元器件  |主板  |
|1   |301018.SZ|申菱环境   |专用机械|创业板|
|1   |300735.SZ|光弘科技   |通信设备|创业板|
|1   |300438.SZ|鹏辉能源   |电气设备|创业板|
|1   |603920.SH|世运电路   |元器件  |主板  |
|1   |002454.SZ|松芝股份   |汽车配件|中小板|
|1   |002463.SZ|沪电股份   |元器件  |中小板|
|1   |300594.SZ|朗进科技   |运输设备|创业板|
|1   |300365.SZ|恒华科技   |软件服务|创业板|
|1   |002483.SZ|润邦股份   |工程机械|中小板|
|1   |600295.SH|鄂尔多斯   |钢加工  |主板  |
|1   |603505.SH|金石资源   |矿物制品|主板  |
|1   |002610.SZ|爱康科技   |电气设备|中小板|
|1   |688059.SH|华锐精密   |机械基件|科创板|
|1   |603901.SH|永创智能   |专用机械|主板  |
|1   |603665.SH|康隆达     |纺织    |主板  |
|1   |600683.SH|京投发展   |区域地产|主板  |
|1   |688789.SH|宏华数科   |专用机械|科创板|
|1   |688518.SH|联赢激光   |专用机械|科创板|
|1   |603115.SH|海星股份   |元器件  |主板  |
|1   |603380.SH|易德龙     |元器件  |主板  |
|1   |300681.SZ|英搏尔     |汽车配件|创业板|
|1   |003043.SZ|华亚智能   |专用机械|中小板|
|1   |300835.SZ|龙磁科技   |元器件  |创业板|
|1   |600330.SH|天通股份   |元器件  |主板  |
|1   |605338.SH|巴比食品   |食品    |主板  |
|1   |688683.SH|莱尔科技   |化工原料|科创板|
|1   |300170.SZ|汉得信息   |软件服务|创业板|
|1   |001288.SZ|运机集团   |专用机械|主板  |
|1   |002522.SZ|浙江众成   |塑料    |中小板|
|1   |300990.SZ|同飞股份   |专用机械|创业板|
|1   |300953.SZ|震裕科技   |机械基件|创业板|
|1   |002701.SZ|奥瑞金     |广告包装|中小板|
|1   |603105.SH|芯能科技   |电气设备|主板  |
|1   |000931.SZ|中关村     |生物制药|主板  |
|1   |002571.SZ|德力股份   |玻璃    |中小板|
|1   |300617.SZ|安靠智电   |电气设备|创业板|
|1   |002916.SZ|深南电路   |元器件  |中小板|
|1   |603948.SH|建业股份   |化工原料|主板  |
|1   |300260.SZ|新莱应材   |机械基件|创业板|
|2   |688033.SH|天宜上佳   |运输设备|科创板|
|2   |603348.SH|文灿股份   |汽车配件|主板  |
|2   |300052.SZ|中青宝     |互联网  |创业板|
|2   |688008.SH|澜起科技   |半导体  |科创板|
|2   |603399.SH|吉翔股份   |小金属  |主板  |
|2   |002837.SZ|英维克     |专用机械|中小板|
|2   |603088.SH|宁波精达   |专用机械|主板  |
|2   |603063.SH|禾望电气   |电气设备|主板  |
|2   |603836.SH|海程邦达   |仓储物流|主板  |
|2   |002824.SZ|和胜股份   |铝      |中小板|
|2   |600742.SH|一汽富维   |汽车配件|主板  |
|2   |601218.SH|吉鑫科技   |机械基件|主板  |
|2   |605286.SH|同力日升   |运输设备|主板  |
|2   |600696.SH|岩石股份   |区域地产|主板  |
|3   |002805.SZ|丰元股份   |化工原料|中小板|
|3   |002815.SZ|崇达技术   |元器件  |中小板|
|3   |600556.SH|天下秀     |互联网  |主板  |
+----+---------+-----------+--------+------+

其实这里有一个问题,那就是我们认为每个股票不论涨跌它都应该出现在我们的数据里,其实实际情况不是这样的,可以有的股票被查封导致有一段时间是是没有它的交易数据的,所以我们上面使用row_number 排序取出来的数本身就是不连续的,例如下面的南岭民爆,我们发现它在20211019 号涨停之后一段时间没有数据,但是在20211103的时候又发生了一次涨停

image-20211104140250156

也就是说我们要把这样的数据过滤掉,这个逻辑我就不再去写了了,因为很简单,而且我们的重点是SQL 实现,总觉得这种代码实现有点不优雅

SQL 实现

这个实现方式是我后来在车上和少爷讨论的时候想到的,其实这里的连续涨停和我们前面说的最大连续登陆有点不一样,那就是我们的大A股市其实在时间上是不连续的,例如周末以及节假日,这里你可以先看一下Hive实战之最大连续登陆,所以说股票它的数据理论上是没办法连续的,而且我们也不是求一段时间的最大连续涨停,我们是计算截止到昨天的连续涨停,例如昨天前天就是连续两次涨停,昨天前天大前天就是连续三次涨停,也就是说我们的时间截至点是昨天。

第一版

 sql(s"""|select|  ts_code,|  min_trade_date as start_date,|  max_trade_date as end_date,|  days as continuedays|from(|  select|    ts_code,|    min(trade_date) as min_trade_date,|    max(trade_date) as max_trade_date,|    -- 涨停天数|    count(1) as days|  from(|     select|       ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount,rn|     from(|        select|           ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount,row_number() over(partition by ts_code order by trade_date desc) as rn|        from|           trade|        where|          -- 时间要换掉 大致的过滤条件|          trade_date>='${startDate}'|     )tmp|     where|        -- 过去多少天|        rn<=10|        -- 涨停的数据|        and pct_chg>=9.8|  )|  group by|    ts_code|)where|  -- 截止到昨天也是涨停的,这个日期要换成业务真实日期|  max_trade_date='20211103'|  -- 判断是不是连续的|  and datediff(to_date(max_trade_date,'yyyymmdd'),to_date(min_trade_date,'yyyymmdd'))=days-1|order by|  days,ts_code desc|""".stripMargin).show(2000,false)

其实这里是有问题的,那就是判断是不是连续的条件上,这种判断方式其实是要求时间是真实连续的,也就是如果出现节假日我们这里就不算它是连续涨停,但是我们知道对于股票数据这是要算的,所以这里的我们要重新判断一下这个连续条件。

前面我们说了,我们有一个交易日期的数据表,这个里面记录了每一次的交易日数据,如果我们的days 和我们的交易日数据一致的话,那我们就可以认为它是连涨的

第二版

有了第一版之后,我们很容易改进这个实现

  sql(s"""|select|  ts_code,|  start_date,|  end_date,|  cal_dates as continuedays,|  days|from(|select|  ts_code,|  max(min_trade_date) as start_date,|  max(max_trade_date) as end_date,|  max(days) as days,|  count(dates.cal_date) as cal_dates|from(|  select|    ts_code,|    min_trade_date,|    max_trade_date,|    days|  from(|    select|      ts_code,|      min(trade_date) as min_trade_date,|      max(trade_date) as max_trade_date,|      -- 涨停天数|      count(1) as days|    from(|       select|         ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount,rn|       from(|          select|             ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount,row_number() over(partition by ts_code order by trade_date desc) as rn|          from|             trade|          where|            -- 时间要换掉 大致的过滤条件|            trade_date>='${startDate}'|            and ts_code='600556.SH'|       )tmp|       where|          -- 过去多少天|          rn<=10|          -- 涨停的数据|          and pct_chg>=9.8|    )|    group by|      ts_code|  )where|    -- 截止到昨天也是涨停的|    max_trade_date='20211103'|) stocks|inner join|  dates dates|on|  dates.cal_date>=stocks.min_trade_date|  and dates.cal_date<=stocks.max_trade_date|  -- 是否是交易日|  and dates.is_open=1|group by|  ts_code|)|order by|  days,ts_code desc|""".stripMargin).show(2000,false)

这个SQL 的确跑出来数据,这个的实现原理就是我们首先拿到最大的涨停日期,和最小的日期,然后判断这两个日期之间的交易日的个数和我们的涨停数据的个数,如果相等那就说明涨停是连续的,否则不连续但是我后来发现它还是不对的,它会遗漏一些情况下的数据,举个例子来看一下,

例如在最近5天内,“1、2 号是连涨停的,3号没有 ,4、5号是连续涨停的”

这个时候,我们发现最大和最小之间是有5个交易日的,所以1号到5号是不连续的,但是4号和5号是连续的,上面的计算逻辑就会导致我们忽略掉4号和5号的数据。

第三版

这是我第二天想到的,其实第一版和第二版都是在昨天早上想到的,第三版是我在昨天晚上江边散步的时候想到的,

既然我们找到了问题所在,我们可以这样做,来解决问题,我们构造这样的一个表,这里都是涨停的数据构造的,所以没有3号的数据

ts_codestart_dateend_date
300835.SZ15
300835.SZ25
300835.SZ45
300835.SZ55

有了这张表之后,我们再在这个基础上,计算两个东西,一个就是我们前面计算过的涨停天数,另外一个就是交易日期的个数,计算的范围就是我们的start_date和end_date

ts_codestart_dateend_date涨停天数交易天数
300835.SZ1545
300835.SZ2534
300835.SZ4522
300835.SZ5511

有了这个表格之后我们筛选出涨停天数和交易天数相等的记录,然后我们再筛选出涨停天数最大的即可

  // 每次拿特定日期的过去10天的数据 这里我们为了避免因为节假日的原因,拿了过去一个月的数据,然后通过排序的方式再筛选出10天val startDate = LocalDate.now().plusDays(-30).format(DateTimeFormatter.ofPattern("yyyyMMdd"))val lastDate = LocalDate.now().plusDays(-1).format(DateTimeFormatter.ofPattern("yyyyMMdd"))// 首先选出涨停的票,因为这张表我们要多次用到,所以我们单独创建了一个试图,你以可以使用with 语法和下面的的sql 整合sql(s"""|select|  ts_code,trade_date,$lastDate as end_date|from(|   select|      ts_code,trade_date,open,high,low,close,pre_close,change,pct_chg,vol,amount,row_number() over(partition by ts_code order by trade_date desc) as rn|   from|      trade|   where|     -- 时间要换掉 大致的过滤条件|     trade_date>='${startDate}'|)tmp|where|   -- 过去10条记录(这里注意一下不一定是过去10天的)|   rn<=10|   -- 涨停的数据|   and pct_chg>=9.8|""".stripMargin).createOrReplaceTempView("zhangting")sql("""|select| ts_code,trade_date,end_date,zt_cnt|from(| select|  ts_code,|  trade_date,|  end_date,|  zt_cnt,|  row_number()over(partition by ts_code order by zt_cnt desc) as rn| -- 筛选出 zt_cnt最大的记录| from(|  select|    a.ts_code,|    a.trade_date,|    a.end_date,|    count(distinct b.trade_date) as zt_cnt|  from|   zhangting a|  left join|   zhangting b|  on|   a.ts_code=b.ts_code|   and a.trade_date<=b.trade_date|   and a.end_date>=b.trade_date|  left join|    dates dates|  on|    dates.cal_date>=a.trade_date|    and dates.cal_date<=a.end_date|    -- 是否是交易日|    and dates.is_open=1|  group by|   a.ts_code,a.trade_date,a.end_date|  having|   count(distinct b.trade_date)=count(distinct dates.cal_date)| )t|)t|where| rn=1|order by| zt_cnt|""".stripMargin).show(2000,false)

下面就是我们的计算结果

image-20211105113614670

而且这里我把第一版和第三版的计算结果进行了对比,完全对的上,这也说明我们的计算是正确的

image-20211105113721884

总结

今天我们通过使用 Spark SQL来分析股票数据,但是分析的目的不是为了买股票,而是为了学习和掌握Spark SQL。

在逻辑的实现上我们可以看到Spark SQL非常的灵活,可以使用混合编程,来完成我们复杂的业务逻辑。

还有就是过去n天连续涨停的票,其实整个计算还是很有难度的,因为股票的交易数据日期本来就不连续。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/16160.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

华为版 ChatGPT“盘古 Chat”2023年7月7日正式发布

据某些媒体称&#xff0c;华为公司将发布一款直接对标 ChatGPT 的多模态千亿级大模型产品&#xff0c;名为“盘古 Chat”。 据介绍&#xff0c;盘古大模型于 2020 年 11 月在华为云内部立项成功。这款“盘古 Chat ”预计将于今年 7 月 7 日举行的华为云开发者大会 (HDC.Cloud …

苹果上演“无间道”?故意泄露假消息“钓鱼”,成功抓获 iOS 17 内部爆料者...

整理 | 郑丽媛 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 在今年 3 月底&#xff0c;苹果预告了 WWDC23 大会的时间&#xff1a;北京时间 6 月 6 日至 10 日。据外媒预测&#xff0c;iOS 17、新款 MacBook Air 和 M3 芯片都有可能在本次大会中亮相。 然而对于…

被 Google 裁掉的 Golden 12K:开源开发者成重灾区,61 岁再求职!

整理 | 屠敏 出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 2022 被视为全球经济的低谷期&#xff0c;如今 2023 新一年的到来&#xff0c;被众人赋予了很高的期望。 然而&#xff0c;新年伊始&#xff0c;全球科技巨头之一的 Google 最新宣布大规模裁员的消息&a…

简单聊聊工程质量中研发需要关心的点

一、背景 作为程序猿&#xff0c;工程质量是我们逃不开的一个话题&#xff0c;工程质量高带来的好处多多&#xff0c;我在写这篇文章的时候问了一下CHATGPT&#xff0c;就当娱乐一下&#xff0c;以下是ChatGPT的回答&#xff1a; 1、提高产品或服务的可靠性和稳定性。高质量的系…

ChatGPT不会很快接管人类工作,AI也不会免费打工

ChatGPT 等大模型的相继发布&#xff0c;让很多人倍感压力&#xff0c;害怕 AI 会很快接管他们的工作。对此&#xff0c;OpenAI 也曾发表过一项研究&#xff0c;表明 ChatGPT 的影响涵盖所有收入阶层&#xff0c;且高收入工作可能面临更大的风险。事实到底如何呢&#xff1f; …

AI辅助编程实践-Copilot

引言 在ChatGPT的浪潮下&#xff0c;当前大模型普遍引入了编程问题平台以及大量代码数据来训练逻辑和问答能力&#xff0c;同时大模型本身具备的自然语言理解和处理能力&#xff0c;使得我们可以与大模型进行代码编程上的交流与咨询&#xff0c;大大减少我们在一些琐碎事务上的…

chatgpt赋能python:Python动态调用方法:优雅的编程解决方案

Python动态调用方法&#xff1a;优雅的编程解决方案 Python语言的特性之一是其动态性。这意味着Python在运行时不仅能够创建新的对象和修改现有对象的属性&#xff0c;还可以动态地调用方法。这种能力在编写大规模的Python应用程序时格外有用。本文将深入探讨Python动态调用方…

聚观早报 | ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备

今日要闻&#xff1a;ChatGPT登顶美区iOS免费榜&#xff1b;库克不满苹果首款MR设备&#xff1b;索尼正开发小尺寸折叠屏手机&#xff1b;万达辟谣大规模裁员&#xff1b;智能仿生手让截肢者重获手心的温度 ChatGPT登顶美区iOS免费榜 ChatGPT 在 iOS 美区免费 App 排行榜上位列…

【送书福利】终于有本书讲清了ChatGPT和AIGC

文末送书活动 AIGC的各大门派是谁&#xff1f;典型技术都有什么&#xff1f; AIGC为什么在绘画领域先破圈&#xff1f;ChatGPT的有哪些局限性&#xff1f; 为何科技企业争相推出大模型&#xff1f; 人类的创新能力会被AIGC取代吗…… 诸如此类的这些话题呈现爆发性增长&#xf…

【社区图书馆】人工智能新高度:生成式AI带来新的革命!

引言 很高兴能够参加CSDN & 机械工业出版社联合举办的深读计划活动&#xff0c;非常荣幸被选中获得纸质版的《你好&#xff0c;ChatGPT》这本书&#xff0c;在这里再次感谢CSDN、机械工业出版社给我的这个阅读机会&#xff0c;我个人也是非常珍惜这次深读计划&#xff0c;经…

终于有本书把ChatGPT和AIGC讲清了!

AIGC的各大门派是谁&#xff1f;典型技术都有什么&#xff1f; AIGC为什么在绘画领域先破圈&#xff1f;ChatGPT的有哪些局限性&#xff1f; 为何科技企业争相推出大模型&#xff1f; 人类的创新能力会被AIGC取代吗…… 诸如此类的这些话题呈现爆发性增长&#xff0c;频频被科技…

ATA笔记

目录 One Model to Serve ALL&#xff1a;多场景下的星型CTR预估模型STAR 解决问题 网络结构 Scenario-Specific FCN Scenario-Specific Linear Transformation Master & Auxiliary Network LinUCB介绍 Mix_Loss:稀疏高客单场景下成交Loss设计 GMSL: GRU-based Mu…

一文看尽SOTA生成式模型:9大类别21个模型全回顾!

来源&#xff1a;新智元 极市平台 本文约3800字&#xff0c;建议阅读5分钟本文总结了2022年发布的21个生成式模型&#xff0c;一次看明白生成式模型的发展脉络&#xff01; 过去的两年时间里&#xff0c;AI界的大型生成模型发布呈井喷之势&#xff0c;尤其是Stable Diffusion开…

多模态大模型综述: LLaVA, MiniGPT4

文章目录 LLaVA一. 简介1.1. 摘要1.2. 引言 二. 相关工作三. 基于GPT辅助的视觉指令数据生成四. Visual Instruction Tuning4.1 网络结构4.2 训练 5 实验5.1 多模态聊天机器人5.2 ScienceQA MiniGPT4一. 简介1.1 Overview 二. 方法2.1 网络结构图2.2 第一阶段训练2.3 高质量对齐…

被称为下一代风口的AIGC到底是什么?

近期&#xff0c;短视频平台上“AI绘画”的概念爆火&#xff0c;ChatGPT这一词条也刷爆了科技圈&#xff0c;而这些概念同属于一个领域——AIGC。2022年12月&#xff0c;Science杂志发布的2022年度科学十大突破中&#xff0c;AIGC入选。 那么&#xff0c;被称之为是AI下一代风…

Postman如何设置成中文?(汉化)

1. 点击下方这个链接&#xff0c;进入gitee&#xff0c;在里面下载一个插件 Releases hlmd/Postman-cn GitHub 进入之后是这个样子的&#xff1a; 2.看一下自己的postman是什么版本的&#xff0c;然后在gitee下载对应的APP包&#xff08;注意&#xff1a;是App.zit包。不要下…

强大的编辑器 Cursor,免费集成了 ChatGPT-4

AI 时代来临&#xff0c;还不会利用工具帮助你工作&#xff0c;很容易就会被淘汰了。 就在上一周是 AI&#xff0c;集体亮相的一周&#xff0c;ChatGPT-4、new-bing、文心一言、Claude 等等&#xff0c;一一体验过这些工具&#xff0c;能明显感觉到作为 CV 工程师的焦虑。 在…

刚刚!BingChat全面开放,人人可用!

大家好&#xff0c;我是鸟哥。 如题&#xff0c;微软真是下血本。昨天毫无征兆的宣布BingChat全面开放&#xff0c;人人可用&#xff01;众所周知ChatGPT得使用门槛有多高&#xff0c;而BingChat底层调用的是GPT4.0的模型&#xff0c;这无疑是白嫖GPT4.0最简单的姿势了。鸟哥一…

使用Microsoft Edge dev浏览器突然找不到new bing,bing chat消失

bing chat在原本bing的主页但关闭后再次打开消失不见&#xff0c;请清除cookies并重新打开浏览器。 之前bing的时候找不到这种情况&#xff0c;可能是Mac的小bug吧&#xff0c;发个博客记录一下。 更新Mac系统后重新开机&#xff0c;再打开Microsoft edge dev的bing页面就是如…

英伟达4070Ti 6499元起/ 微软要推出ChatGPT版Bing/ 苹果头显被曝售价3000美元... 今日更多新鲜事在此...

日报君 发自 凹非寺量子位 | 公众号 QbitAI 大家好~今天是新年的第一个星期三——还有两天又到周末啦。 科技圈还有哪些有意思的事&#xff1f; 日报君在此呈上~ 微软要推出ChatGPT版Bing搜索 最近&#xff0c;OpenAI的聊天工具ChatGPT成了AI界顶流&#xff0c;不过它本身没有网…