关键词: 股票、 猜测 、 数据剖析、 爬虫

前语

  数据剖析是当今社会中不可或缺的一部分,它在各个行业中都扮演着至关重要的角色。无论是在商业范畴、科研范畴仍是政府范畴,数据剖析都是解决问题和做出决议方案的重要东西之一。从简略的数据整理和统计到复杂的机器学习和深度学习模型,数据剖析提供了各种东西和办法,帮助人们从数据中提取出有价值的信息和常识,以指导各种决议方案。在本博客中,咱们将探讨数据剖析的重要性和运用,介绍常用的数据剖析东西和技术,以及怎么运用数据剖析来解决实际问题和取得业务上的成功。

  最近炒股赔了很多钱,心急之下,拿起键盘一顿敲,写了一份爬虫用于爬取指定的股票,想着数据都爬取了,我不得拿出我的老本行技能——数据剖析干一波,避免今后不再“买了就跌,卖了就涨”。

爬取数据

  爬取指定股票的前史价格能够分为以下几个过程:

  1. 确认爬取数据的来历:股票前史价格能够从多个来历获取,如yahoo财经、谷歌财经、东方财富等,需求确认一个牢靠的数据来历。
  2. 确认股票代码:每只股票都有唯一的代码,在确认要爬取哪只股票之前需求查找其代码。
  3. 确认时刻规模:确认要获取的前史价格的时刻规模,如曩昔一年、三年或五年的数据等。
  4. 编写爬虫程序:运用爬虫程序爬取数据。能够运用 Python 等编程语言来编写网络爬虫程序,通过 HTTP 恳求获取股票价格数据,并解析 HTML 页面或 JSON 数据来提取所需信息。
  5. 存储数据:将爬取到的数据存储在数据库或文件中,以便后续数据剖析和处理。

爬虫代码

import requests
import csv
url = "http://q.stock.sohu.com/hisHq?code=cn_601868&start=20210928&end=20230306&stat=1&order=D&period=d&callback=historySearchHandler&rt=jsonp"
response = requests.get(url, timeout=1)
content = response.content.decode('gbk')
content = content.replace('historySearchHandler', '')
content = content[2:-3]
dict_content = eval(content)
logs_content = dict_content["hq"]
# print(len(logs_content))
logs = ["0"] * (len(logs_content) + 1)
num = len(logs_content)
for i in logs_content:
    logs[num] = i
    num -= 1
f = open("123.csv", 'w', encoding='UTF8', newline='')
for doc in logs:
    writer = csv.writer(f)
    writer.writerow(doc)
f.close()

数据剖析

  咱们拿到了123.csv文件中的数据,榜首列的数据为时刻,咱们取第二列的股票价格作为因变量,咱们不猜测次日的股票价格的具体值,只断定次日的价格比较今天的价格是涨仍是跌即可。

傅里叶函数拟合

  傅里叶函数拟合是一种将函数用一系列基础正弦和余弦函数的线性组合来迫临原函数的办法。这些基础函数称为傅里叶基函数,它们的频率、振幅和相位能够恣意调整,因而能够迫临各种形状的函数。
傅里叶函数:f(x)≈2a0​​+n=1∑∞​(an​cos(b−a2nx​)+bn​sin(b−a2nx​))

 f(x) =  a0 + a1*cos(x*w) + b1*sin(x*w) + a2*cos(2*x*w) + b2*sin(2*x*w) + a3*cos(3*x*w) + b3*sin(3*x*w) + a4*cos(4*x*w) + b4*sin(4*x*w) + a5*cos(5*x*w) + b5*sin(5*x*w) + a6*cos(6*x*w) + b6*sin(6*x*w) + a7*cos(7*x*w) + b7*sin(7*x*w) + a8*cos(8*x*w) + b8*sin(8*x*w)

图画:

【数据分析】爬取股票数据进行分析预测

成果

Coefficients (with 95% confidence bounds):
       a0 =       2.437  (2.427, 2.447)
       a1 =     0.01641  (-1.143, 1.176)
       b1 =     -0.1575  (-0.2808, -0.03414)
       a2 =    -0.03543  (-0.7845, 0.7136)
       b2 =    -0.05162  (-0.5768, 0.4735)
       a3 =    -0.06492  (-0.4409, 0.311)
       b3 =    -0.01715  (-1.429, 1.395)
       a4 =    -0.03532  (-2.871, 2.8)
       b4 =     0.09717  (-0.9434, 1.138)
       a5 =     0.06861  (-0.7096, 0.8468)
       b5 =    -0.02142  (-2.528, 2.485)
       a6 =    -0.06581  (-0.6867, 0.555)
       b6 =    -0.01422  (-2.898, 2.869)
       a7 =   -0.001212  (-1.698, 1.696)
       b7 =     0.03332  (-0.03373, 0.1004)
       a8 =      0.0619  (-2.259, 2.383)
       b8 =    -0.03964  (-3.661, 3.582)
       w =     0.01139  (0.01123, 0.01155)
Goodness of fit:
  SSE: 2.009
  R-square: 0.8288
  Adjusted R-square: 0.8199
  RMSE: 0.07826

高斯函数拟合

  高斯函数拟合是一种将函数用高斯函数的线性组合来迫临原函数的办法。高斯函数是一种常见的连续函数,它具有杰出的可微性、可积性和正定性。
函数:f(x)≈i=1∑n​Ai​exp(−2i2​(x−xi​)2​)

     f(x) =
              a1*exp(-((x-b1)/c1)^2) + a2*exp(-((x-b2)/c2)^2) + 
              a3*exp(-((x-b3)/c3)^2) + a4*exp(-((x-b4)/c4)^2) + 
              a5*exp(-((x-b5)/c5)^2) + a6*exp(-((x-b6)/c6)^2) + 
              a7*exp(-((x-b7)/c7)^2) + a8*exp(-((x-b8)/c8)^2)

图画

【数据分析】爬取股票数据进行分析预测

成果

Coefficients (with 95% confidence bounds):
       a1 =       1.253  (-2.791, 5.297)
       b1 =      -1.823  (-2.188, -1.457)
       c1 =      0.2997  (-0.09638, 0.6958)
       a2 =      0.5869  (0.3209, 0.853)
       b2 =      -1.212  (-1.231, -1.193)
       c2 =      0.1313  (0.09757, 0.1651)
       a3 =      0.5498  (0.1348, 0.9647)
       b3 =     -0.8995  (-0.9615, -0.8374)
       c3 =      0.2757  (0.1867, 0.3647)
       a4 =      0.3031  (0.2241, 0.3821)
       b4 =      0.5849  (0.5746, 0.5951)
       c4 =     0.05484  (0.0376, 0.07209)
       a5 =        1.44  (-76.89, 79.77)
       b5 =     -0.8678  (-8.402, 6.666)
       c5 =       1.648  (-25.97, 29.27)
       a6 =      0.1947  (0.02423, 0.3651)
       b6 =       1.062  (1.023, 1.102)
       c6 =      0.2106  (0.07503, 0.3462)
       a7 =       3.764  (-282.7, 290.2)
       b7 =       5.154  (-604.4, 614.7)
       c7 =       4.866  (-519.2, 528.9)
       a8 =     0.08618  (0.02201, 0.1504)
       b8 =      0.1105  (0.04477, 0.1762)
       c8 =       0.152  (0.02536, 0.2787)
Goodness of fit:
  SSE: 1.667
  R-square: 0.8579
  Adjusted R-square: 0.8478
  RMSE: 0.07195

多项式回归

  多项式回归函数是一种将函数用多项式的线性组合来迫临原函数的办法。多项式是一种常见的函数形式,它具有杰出的可微性和可积性,多项式回归函数在数据拟合和函数迫临等范畴都有广泛运用,尤其是在低维数据下体现杰出。

f(x) = p1*x^8 + p2*x^7 + p3*x^6 + p4*x^5 + p5*x^4 + p6*x^3 + p7*x^2 + p8*x + p9

图画

【数据分析】爬取股票数据进行分析预测

成果

Coefficients (with 95% confidence bounds):
       p1 =   2.687e-25  (-1.22e-25, 6.595e-25)
       p2 =  -5.537e-20  (-1.497e-19, 3.898e-20)
       p3 =   3.916e-15  (-5.019e-15, 1.285e-14)
       p4 =   -7.06e-11  (-4.603e-10, 3.191e-10)
       p5 =  -3.596e-06  (-1.079e-05, 3.603e-06)
       p6 =      0.1103  (-0.3682, 0.5888)
       p7 =        4360  (-1.518e+04, 2.39e+04)
       p8 =  -2.246e+08  (-5.98e+08, 1.489e+08)
       p9 =   2.653e+12  (-3.233e+11, 5.63e+12)
Goodness of fit:
  SSE: 3.633
  R-square: 0.6903
  Adjusted R-square: 0.6829
  RMSE: 0.1038

正弦函数拟合

  正弦函数拟合是一种将函数用正弦函数的线性组合来迫临原函数的办法。正弦函数是一种周期性的连续函数,因而在处理周期性信号时具有很好的作用。正弦函数拟合在处理周期性信号和信号噪声较小的情况下具有较好的作用。

     f(x) =
                    a1*sin(b1*x+c1) + a2*sin(b2*x+c2) + a3*sin(b3*x+c3) + 
                    a4*sin(b4*x+c4) + a5*sin(b5*x+c5) + a6*sin(b6*x+c6) + 
                    a7*sin(b7*x+c7) + a8*sin(b8*x+c8)

图画

【数据分析】爬取股票数据进行分析预测

数据

Coefficients (with 95% confidence bounds):
       a1 =       3.563  (-5.02e+05, 5.02e+05)
       b1 =    0.004507  (-421, 421)
       c1 =       63.86  (-1.885e+07, 1.885e+07)
       a2 =       1.256  (-5e+05, 5e+05)
       b2 =    0.009122  (-839.9, 839.9)
       c2 =       130.6  (-3.759e+07, 3.759e+07)
       a3 =     0.02736  (-748.9, 749)
       b3 =     0.02402  (-321.5, 321.6)
       c3 =      -3.893  (-1.425e+07, 1.425e+07)
       a4 =      0.1884  (-2173, 2173)
       b4 =     0.04826  (-201.3, 201.4)
       c4 =       -14.4  (-9.013e+06, 9.013e+06)
       a5 =      0.1053  (-1314, 1314)
       b5 =     0.03682  (-200.6, 200.7)
       c5 =      -39.11  (-8.994e+06, 8.994e+06)
       a6 =     0.09789  (-561.8, 562)
       b6 =     0.06514  (-12.63, 12.76)
       c6 =       304.6  (-5.675e+05, 5.681e+05)
       a7 =      0.1707  (-4160, 4160)
       b7 =     0.05632  (-115.9, 116)
       c7 =       162.3  (-5.187e+06, 5.188e+06)
       a8 =     0.06283  (-0.001512, 0.1272)
       b8 =     0.09286  (0.08221, 0.1035)
       c8 =      -396.4  (-872, 79.13)
Goodness of fit:
  SSE: 2.064
  R-square: 0.824
  Adjusted R-square: 0.8115
  RMSE: 0.08006

结束

  在这里我向大家劝诫:科学理性炒股!小炒怡情,大炒伤身,强炒灰飞烟灭。咱们应该科学理性炒股,这是一种根据谨慎的剖析和判别,科学合理地进行股票投资的办法。比较于盲目跟风、相信谣言等方法,科学理性炒股能够降低投资危险、提高收益率。

本文正在参与「金石方案」