嘗試不寫任何代碼完全交由chatgpt做一個股票預測模型之第一部曲

更新於 發佈於 閱讀時間約 17 分鐘
  • 文內如有投資理財相關經驗、知識、資訊等內容,皆為創作者個人分享行為。
  • 有價證券、指數與衍生性商品之數據資料,僅供輔助說明之用,不代表創作者投資決策之推介及建議。
  • 閱讀同時,請審慎思考自身條件及自我決策,並應有為決策負責之事前認知。
  • 方格子希望您能從這些分享內容汲取投資養份,養成獨立思考的能力、判斷、行動,成就最適合您的投資理財模式。
機器人會幫助我們獲得財務自由嗎?
毫無疑問,OpenAI 的 ChatGPT 非常出色!
我喜歡寫有關金融市場的文章,尤其是從數據科學的角度。
不用說,這個人工智能工具對我來說形成了一個很好的交集;
這能滿足我內心的書呆子,同時證明這工具對追求財務自由有價值嗎?
我問了一個非常直率的問題,直接對其進行了測試:
啊等等,我忘了我的禮貌!
好吧……很明顯,這種直接的提問是行不通的
可是等等!也許換種方式問會奏效?
如果我們要求它幫助我們編寫一些代碼來預測價格
他寫得出來嗎?
第 1 步 — 要求 ChatGPT 編寫一些代碼
首先,我讓 AI 給我寫一些代碼來預測股票價格。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from statsmodels.tsa.arima_model import ARIMA

# 导入数据
df = pd.read_csv('stock_prices.csv', parse_dates=['date'], index_col='date')
train_data = df[:'2021-09-30']
test_data = df['2021-10-01':]

# 可视化数据
plt.plot(train_data)
plt.title('Stock Prices')
plt.xlabel('Date')
plt.ylabel('Price')
plt.show()

# 拟合ARIMA模型
model = ARIMA(train_data, order=(1,1,1))
model_fit = model.fit()

# 预测测试数据
start_date = test_data.index[0]
end_date = test_data.index[-1]
pred = model_fit.predict(start=start_date, end=end_date)

# 可视化预测结果
plt.plot(train_data, label='Training Data')
plt.plot(test_data, label='Test Data')
plt.plot(pred, label='Predicted Data')
plt.title('Stock Prices Prediction')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.show()
挖還不錯他還給了我一些解釋
这个示例代码导入了股票价格数据,可视化了价格趋势,并使用ARIMA模型拟合了历史数据,并进行了预测。但需要注意的是,这个模型是非常简单的,并不能做出准确的预测,因为它没有考虑到所有可能的因素和变量。
ok我貼到colab去實際執行
啊……好像我們這裡有問題。我們沒有文件 stock_prices.csv。但或許 ChatGPT 也能在這方面幫助我們? 🤔
第 2 步 — 要求 ChatGPT 修復錯誤

好的,讓我們修復錯誤。

看起來可以用來下載股票價格讓我們開始吧!
好的……讓我們要求它修復錯誤:
ok成功了
讓我們來看一下資料
既然有了資料我們再來重新執行一次第一步的代碼
ok…..看來還有些問題,我們請chatgpt幫忙修正
ok看來他知道他哪裡寫錯並給了更新後的版本
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA

# 读取csv文件并将日期列指定为索引列
df = pd.read_csv('stock_prices.csv', parse_dates=['Date'], index_col='Date')

# 可视化股票价格时间序列数据
plt.plot(df)
plt.title('Stock Prices')
plt.xlabel('Date')
plt.ylabel('Price')
plt.show()

# 将数据拆分为训练集和测试集
train_data = df.iloc[:-30]
test_data = df.iloc[-30:]

# 创建ARIMA模型并训练
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit()

# 使用模型进行预测
predictions = model_fit.predict(start=len(train_data), end=len(df)-1, dynamic=False)

# 可视化预测结果和测试集
plt.plot(test_data.index, test_data.values, label='Actual')
plt.plot(predictions.index, predictions.values, label='Predicted')
plt.title('Stock Price Prediction')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.show()
實際執行:
ok寫程式嘛debug是很正常的事情,再度要求chatgpt幫忙debug
原來是因為ARIMA模型需要的是單變量時間序列數據,因此CHATGPT
知道他寫錯了重新寫了代碼給我
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA

# 读取csv文件并将日期列指定为索引列
df = pd.read_csv('stock_prices.csv', usecols=['Date', 'Close'], parse_dates=['Date'], index_col='Date')

# 可视化股票价格时间序列数据
plt.plot(df)
plt.title('Stock Prices')
plt.xlabel('Date')
plt.ylabel('Price')
plt.show()

# 将数据拆分为训练集和测试集
train_data = df.iloc[:-30]
test_data = df.iloc[-30:]

# 创建ARIMA模型并训练
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit()

# 使用模型进行预测
predictions = model_fit.predict(start=len(train_data), end=len(df)-1, dynamic=False)

# 可视化预测结果和测试集
plt.plot(test_data.index, test_data.values, label='Actual')
plt.plot(predictions.index, predictions.values, label='Predicted')
plt.title('Stock Price Prediction')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.show()
OK還是有問題依樣請CHATGPT反省
OK新的修正後的代碼:
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA

# 读取csv文件并将日期列指定为索引列
df = pd.read_csv('stock_prices.csv', usecols=['Date', 'Close'], parse_dates=['Date'], index_col='Date')

# 转换日期格式
df.index = pd.to_datetime(df.index)

# 可视化股票价格时间序列数据
plt.plot(df)
plt.title('Stock Prices')
plt.xlabel('Date')
plt.ylabel('Price')
plt.show()

# 将数据拆分为训练集和测试集
train_data = df.iloc[:-30]
test_data = df.iloc[-30:]

# 创建ARIMA模型并训练
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit()

# 使用模型进行预测
predictions = model_fit.predict(start=len(train_data), end=len(df)-1, dynamic=False)

# 可视化预测结果和测试集
plt.plot(test_data.index, test_data.values, label='Actual')
plt.plot(predictions.index, predictions.values, label='Predicted')
plt.title('Stock Price Prediction')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()
plt.show()
執行:
OK還是一樣我繼續追問
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA

# 读取csv文件并将日期列指定为索引列
df = pd.read_csv('stock_prices.csv', usecols=['Date', 'Close'], parse_dates=['Date'], index_col='Date')

# 将数据拆分为训练集和测试集
train_data = df.iloc[:-30]
test_data = df.iloc[-30:]

# 创建ARIMA模型并训练
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit()

# 使用模型进行预测
predictions = model_fit.predict(start=len(train_data), end=len(df)-1, dynamic=False)

# 可视化预测结果和测试集
plt.plot(test_data.index, test_data.values, label='Actual')
plt.plot(predictions.index, predictions.values, label='Predicted')
plt.title('Stock Price Prediction')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()

# 设置x轴刻度
plt.xticks(pd.date_range(test_data.index[0], test_data.index[-1], freq='W'))

plt.show()
看來他設置了x轴刻度
OK在執行看看
好這次完全沒有出現錯誤訊息不過圖片怪怪的
看看CHATGPT有沒有辦法解決
import pandas as pd
import matplotlib.pyplot as plt
from statsmodels.tsa.arima.model import ARIMA

# 读取csv文件并将日期列指定为索引列
df = pd.read_csv('stock_prices.csv', usecols=['Date', 'Close'], parse_dates=['Date'], index_col='Date')

# 将数据拆分为训练集和测试集
train_data = df.iloc[:-30]
test_data = df.iloc[-30:]

# 创建ARIMA模型并训练
model = ARIMA(train_data, order=(1, 1, 1))
model_fit = model.fit()

# 使用模型进行预测
predictions = model_fit.predict(start=len(train_data), end=len(df)-1, dynamic=False)

# 调整预测值的索引
predictions.index = pd.date_range(start=train_data.index[-1], periods=len(predictions), freq='D')[1:]

# 可视化预测结果和测试集
plt.plot(test_data.index, test_data.values, label='Actual')
plt.plot(predictions.index, predictions.values, label='Predicted')
plt.title('Stock Price Prediction')
plt.xlabel('Date')
plt.ylabel('Price')
plt.legend()

# 设置x轴刻度
plt.xticks(pd.date_range(test_data.index[0], test_data.index[-1], freq='W'))

plt.show()
ok持續修正
來試試看照著他所說的修改
ok成功了沒有出現錯誤圖也正常顯示大功告成ya!!!
只是看起來預測值跟實際值差有點多啊…
看一下有沒有辦法讓模型更準確一些
好的這次他沒有幫忙修正代碼而是直接明白地說股票價格預測是一個複雜的問題單純基於時間序列分析的簡單模型是無法捕捉這其他影響股票價格的因素,並且告訴我如果想要提升預測經度可以考慮以下幾個方向,並列表示地把
1到4點整理出來,最後總結因為這是一個複雜的問題不存在一種方法可以達到
100%準確性,模型預測結果還要跟市場趨勢,分析師預測做比較來獲得更全面的預測結果
ok這個實驗算是結束了,先不說精準度的問題chatgpt確實可以自行撰寫出預測股價的代碼,並且在過程中如果代碼有問題他也有辦法自行理解問題並修正
最後在精準度的問題上他也給了四點建議,如果要寫我當然可以繼續從這四點建議追問下去,不過本文就會太長,因此本文就在這裡告一段落未來有機會
我再從這四點繼續追問chatgpt
總結
我可以看到chatgpt是一個超級強大的助手,特別是對於像我這樣的內容創作者。過去身為一個工程師我常常為一篇文章編寫大量代碼,但在這篇文章中,我什麼也沒寫。確實是一個不錯的休息🙂
感謝您的閱讀,希望您喜歡這篇文章!
如果您想要來支持我的內容創作那麼您可以用
請我喝杯咖啡讓我更有創作的熱情跟動力🙂
為什麼會看到廣告
人工智能工作經驗跟研究
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
你有沒有錯過 Binance 上的一個大型加密硬幣泵? 也許您正忙於工作,或者只是不夠快而無法抓住機會。 這是一種令人沮喪的感覺,尤其是當你看到價格在你眼前飛漲時。 但是,如果有一種方法可以實時識別這些爆漲? 在本文中,我們將向您展示如何使用 Python 快速輕鬆地識別加密貨幣暴漲。
首先可以這樣寫告訴chatgpt你希望他表現得像個linux terminal 不用寫解釋,只要回覆linux terminal應該回復的東西即可
google的以圖搜圖相信大家都不陌生,非常好用 本人這篇文章是紀錄一下自己如何利用本身在人工智能方面的知識 土法煉鋼一個以圖搜圖算法,至於跟google一不一樣就待討論了 首先以圖搜圖本身是一個相似度比對問題,人類怎麼做相似度比對呢? 好比給你一堆圖片,之後要求你選一張喜歡的,之後把剩下的圖片都拿
Google JAX是一種用於轉換數值函數的機器學習框架。 它被描述為匯集了autograd(通過函數微分自動獲得梯度函數)和TensorFlow的XLA(加速線性代數)的修改版本。 它旨在盡可能地遵循NumPy的結構和工作流程,並與各種現有框架(如TensorFlow和PyTorch)一起工作。
世界目前正處於人工智能 (AI) 革命之中。 人工智能有可能改變和徹底改變許多行業和我們生活的方方面面, 而且越來越明顯的是,未來世界將嚴重依賴人工智能。 人工智能將產生重大影響的關鍵領域之一是自動化領域。 自動化是指在沒有人工干預的情況下使用技術來執行任務,已經存在了幾十年。 然而,人工智能的
你有沒有錯過 Binance 上的一個大型加密硬幣泵? 也許您正忙於工作,或者只是不夠快而無法抓住機會。 這是一種令人沮喪的感覺,尤其是當你看到價格在你眼前飛漲時。 但是,如果有一種方法可以實時識別這些爆漲? 在本文中,我們將向您展示如何使用 Python 快速輕鬆地識別加密貨幣暴漲。
首先可以這樣寫告訴chatgpt你希望他表現得像個linux terminal 不用寫解釋,只要回覆linux terminal應該回復的東西即可
google的以圖搜圖相信大家都不陌生,非常好用 本人這篇文章是紀錄一下自己如何利用本身在人工智能方面的知識 土法煉鋼一個以圖搜圖算法,至於跟google一不一樣就待討論了 首先以圖搜圖本身是一個相似度比對問題,人類怎麼做相似度比對呢? 好比給你一堆圖片,之後要求你選一張喜歡的,之後把剩下的圖片都拿
Google JAX是一種用於轉換數值函數的機器學習框架。 它被描述為匯集了autograd(通過函數微分自動獲得梯度函數)和TensorFlow的XLA(加速線性代數)的修改版本。 它旨在盡可能地遵循NumPy的結構和工作流程,並與各種現有框架(如TensorFlow和PyTorch)一起工作。
世界目前正處於人工智能 (AI) 革命之中。 人工智能有可能改變和徹底改變許多行業和我們生活的方方面面, 而且越來越明顯的是,未來世界將嚴重依賴人工智能。 人工智能將產生重大影響的關鍵領域之一是自動化領域。 自動化是指在沒有人工干預的情況下使用技術來執行任務,已經存在了幾十年。 然而,人工智能的
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本篇文章,我分享了如何利用ChatGPT進行股票分析的驚險經歷。從意外買到股票,到利用AI輔助進行技術分析,最終股票漲停板的過程。本文強調,雖然ChatGPT能提供有價值的投資建議,但投資者仍需自行負責最終決策。AI可以是我們的諮詢對象,但盈虧自負,投資需謹慎。讓我們一起看看AI在股市中的應用吧!
Thumbnail
  寫這篇文章的時候,NVIDIA的股價還是上漲的,看起來“AI”這個題材還是持續奔跑,要跑到什麼時候我不知道。 不過,可以知道的是,現在只要沾的上邊,說的上故事,都可以有“AI”,下面這張圖是朋友傳給我的,我不得不承認都還“蠻有道理”的。 我想我們都可以幫忙找一些市場“忽略”的AI聯想股
Thumbnail
資產運用公司正在廣泛運用人工智慧(AI)在投資判斷和投資機會的見極等各種領域中。 JP摩根計劃擴大使用生成AI工具,可警告過早賣出優秀股票等不適宜投資決策。其他資產管理公司也在利用AI來補充分析師的分析,尋找投資對象等。 這些舉措表明,AI的應用範圍正轉向支持專業人士做出更明智的投資決策。
Thumbnail
資本主義將人工智慧視為增加利潤和控制勞動力的工具,而不是改善勞動人民生活的方式。(具有諷刺意味的是,上面這幾句話不是我自己寫的,而是新的「聊天機器人」ChatGPT在得到以下提示後寫的。) 而我的 AI-Gemini 較中立 : 對設備自動化在資本主義社會中的影響的擔憂是可以理解的。
Thumbnail
前年2022年11月OpenAI公司發表了ChatGPT,並開放ChatGPT-3.5在網路上供人免費下載試用,瞬間引爆了人工智慧的話題,能夠自我學習的ChatGPT以每天可見的變化在進步,讓人見識到人工智能的學習力,隨後OpenAI發表的GPT-4,讓人見識到GPT這個人工智慧系統有著令人驚訝的智
看了這個視頻, 更確定我們的投資展望! 這是一個很棒的視頻, 一起學習新知識。😀 他把AI說得讓我這種不明白的人也很容易懂, 還有人生不同層面, 都很棒🙏 https://youtu.be/qyOCtY1E4Qk?si=W5vXDjqsFzykvK3z
Thumbnail
二月是市場投資人又愛又恨的一個月,受AI類股財報影響,美股再次創下新高。能參與到AI類股效益的投資人,和那些望之卻步未上車的人,將出現巨大的差異。第一季的財報效益相當正面,利多及利空消息都得到了合理的反應,但隨著財報季節接近尾聲,資金除了保守以待之外,總經數據將成為市場的重點,因為這將影響未來的利率
記得我在前某篇文章講到如果聽到股市正在炒作甚麼題材,大部分時候你聽聽就好。因為一個技術或新興市場要起來,不是你想的那麼容易,比如現在炒得兇的AI,其實至少10幾年前各科技大廠就在做了,ChatGPT都不知道在微軟內部做多久了才一舉成名,然後搭著他的熱潮,AI伺服器等為因應大量運算需求硬體的設備才會需
Thumbnail
介紹: 類似於chatGPT,openAI為他們技術指導,而他們將它延伸利用,主要有三部分 1、AI顧問 2、技術分析 3、交易 目前交易功能還無法使用,技術分析還蠻酷的,不過只能分析1小時線,
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
Thumbnail
本篇文章,我分享了如何利用ChatGPT進行股票分析的驚險經歷。從意外買到股票,到利用AI輔助進行技術分析,最終股票漲停板的過程。本文強調,雖然ChatGPT能提供有價值的投資建議,但投資者仍需自行負責最終決策。AI可以是我們的諮詢對象,但盈虧自負,投資需謹慎。讓我們一起看看AI在股市中的應用吧!
Thumbnail
  寫這篇文章的時候,NVIDIA的股價還是上漲的,看起來“AI”這個題材還是持續奔跑,要跑到什麼時候我不知道。 不過,可以知道的是,現在只要沾的上邊,說的上故事,都可以有“AI”,下面這張圖是朋友傳給我的,我不得不承認都還“蠻有道理”的。 我想我們都可以幫忙找一些市場“忽略”的AI聯想股
Thumbnail
資產運用公司正在廣泛運用人工智慧(AI)在投資判斷和投資機會的見極等各種領域中。 JP摩根計劃擴大使用生成AI工具,可警告過早賣出優秀股票等不適宜投資決策。其他資產管理公司也在利用AI來補充分析師的分析,尋找投資對象等。 這些舉措表明,AI的應用範圍正轉向支持專業人士做出更明智的投資決策。
Thumbnail
資本主義將人工智慧視為增加利潤和控制勞動力的工具,而不是改善勞動人民生活的方式。(具有諷刺意味的是,上面這幾句話不是我自己寫的,而是新的「聊天機器人」ChatGPT在得到以下提示後寫的。) 而我的 AI-Gemini 較中立 : 對設備自動化在資本主義社會中的影響的擔憂是可以理解的。
Thumbnail
前年2022年11月OpenAI公司發表了ChatGPT,並開放ChatGPT-3.5在網路上供人免費下載試用,瞬間引爆了人工智慧的話題,能夠自我學習的ChatGPT以每天可見的變化在進步,讓人見識到人工智能的學習力,隨後OpenAI發表的GPT-4,讓人見識到GPT這個人工智慧系統有著令人驚訝的智
看了這個視頻, 更確定我們的投資展望! 這是一個很棒的視頻, 一起學習新知識。😀 他把AI說得讓我這種不明白的人也很容易懂, 還有人生不同層面, 都很棒🙏 https://youtu.be/qyOCtY1E4Qk?si=W5vXDjqsFzykvK3z
Thumbnail
二月是市場投資人又愛又恨的一個月,受AI類股財報影響,美股再次創下新高。能參與到AI類股效益的投資人,和那些望之卻步未上車的人,將出現巨大的差異。第一季的財報效益相當正面,利多及利空消息都得到了合理的反應,但隨著財報季節接近尾聲,資金除了保守以待之外,總經數據將成為市場的重點,因為這將影響未來的利率
記得我在前某篇文章講到如果聽到股市正在炒作甚麼題材,大部分時候你聽聽就好。因為一個技術或新興市場要起來,不是你想的那麼容易,比如現在炒得兇的AI,其實至少10幾年前各科技大廠就在做了,ChatGPT都不知道在微軟內部做多久了才一舉成名,然後搭著他的熱潮,AI伺服器等為因應大量運算需求硬體的設備才會需
Thumbnail
介紹: 類似於chatGPT,openAI為他們技術指導,而他們將它延伸利用,主要有三部分 1、AI顧問 2、技術分析 3、交易 目前交易功能還無法使用,技術分析還蠻酷的,不過只能分析1小時線,