Files
FinGPT/fingpt/FinGPT_Forecaster/A-share_data_preparation.ipynb

1190 lines
60 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"pip install akshare --upgrade"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"'/Users/mac/Desktop/FinGPT_Forecasting_Project'"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import os\n",
"os.getcwd()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"HS300_stock = pd.read_csv(\"HS300Index.csv\", header=None)\n",
"HS_index = HS300_stock[0].tolist()\n",
"HS_index = [\"0\"*(6-len(str(i)))+str(i) for i in HS_index]"
]
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {},
"outputs": [],
"source": [
"# with open(\"HS300_Index.txt\", 'w') as f:\n",
"# write_item = \"\\n\".join(HS_index)\n",
"# f.write(write_item)\n",
"# f.close()"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"11pages obtained for symbol: 000063\n",
"================== symbol000063completed! ==================\n",
"6pages obtained for symbol: 000069\n",
"================== symbol000069completed! ==================\n",
"9pages obtained for symbol: 000100\n",
"================== symbol000100completed! ==================\n",
"4pages obtained for symbol: 000157\n",
"================== symbol000157completed! ==================\n",
"6pages obtained for symbol: 000166\n",
"================== symbol000166completed! ==================\n",
"7pages obtained for symbol: 000301\n",
"================== symbol000301completed! ==================\n",
"10pages obtained for symbol: 000333\n",
"================== symbol000333completed! ==================\n",
"5pages obtained for symbol: 000338\n",
"================== symbol000338completed! ==================\n",
"5pages obtained for symbol: 000408\n",
"================== symbol000408completed! ==================\n",
"4pages obtained for symbol: 000425\n",
"================== symbol000425completed! ==================\n",
"5pages obtained for symbol: 000538\n",
"================== symbol000538completed! ==================\n",
"10pages obtained for symbol: 000568\n",
"================== symbol000568completed! ==================\n",
"6pages obtained for symbol: 000596\n",
"================== symbol000596completed! ==================\n",
"3pages obtained for symbol: 000617\n",
"================== symbol000617completed! ==================\n",
"11pages obtained for symbol: 000625\n",
"================== symbol000625completed! ==================\n",
"9pages obtained for symbol: 000651\n",
"================== symbol000651completed! ==================\n",
"9pages obtained for symbol: 000661\n",
"================== symbol000661completed! ==================\n",
"3pages obtained for symbol: 000708\n",
"================== symbol000708completed! ==================\n",
"3pages obtained for symbol: 000723\n",
"================== symbol000723completed! ==================\n",
"8pages obtained for symbol: 000725\n",
"================== symbol000725completed! ==================\n",
"3pages obtained for symbol: 000733\n",
"================== symbol000733completed! ==================\n",
"3pages obtained for symbol: 000768\n",
"================== symbol000768completed! ==================\n",
"5pages obtained for symbol: 000776\n",
"================== symbol000776completed! ==================\n",
"3pages obtained for symbol: 000786\n",
"================== symbol000786completed! ==================\n",
"6pages obtained for symbol: 000792\n",
"================== symbol000792completed! ==================\n",
"6pages obtained for symbol: 000800\n",
"================== symbol000800completed! ==================\n",
"11pages obtained for symbol: 000858\n",
"================== symbol000858completed! ==================\n",
"8pages obtained for symbol: 000876\n",
"================== symbol000876completed! ==================\n",
"3pages obtained for symbol: 000877\n",
"================== symbol000877completed! ==================\n",
"5pages obtained for symbol: 000895\n",
"================== symbol000895completed! ==================\n",
"5pages obtained for symbol: 000938\n",
"================== symbol000938completed! ==================\n",
"8pages obtained for symbol: 000963\n",
"================== symbol000963completed! ==================\n",
"10pages obtained for symbol: 000977\n",
"================== symbol000977completed! ==================\n",
"5pages obtained for symbol: 000983\n",
"================== symbol000983completed! ==================\n",
"3pages obtained for symbol: 001289\n",
"================== symbol001289completed! ==================\n",
"7pages obtained for symbol: 001979\n",
"================== symbol001979completed! ==================\n",
"3pages obtained for symbol: 002001\n",
"================== symbol002001completed! ==================\n",
"3pages obtained for symbol: 002007\n",
"================== symbol002007completed! ==================\n",
"4pages obtained for symbol: 002027\n",
"================== symbol002027completed! ==================\n",
"5pages obtained for symbol: 002049\n",
"================== symbol002049completed! ==================\n",
"5pages obtained for symbol: 002050\n",
"================== symbol002050completed! ==================\n",
"2pages obtained for symbol: 002064\n",
"================== symbol002064completed! ==================\n",
"7pages obtained for symbol: 002074\n",
"================== symbol002074completed! ==================\n",
"5pages obtained for symbol: 002120\n",
"================== symbol002120completed! ==================\n",
"8pages obtained for symbol: 002129\n",
"================== symbol002129completed! ==================\n",
"5pages obtained for symbol: 002142\n",
"================== symbol002142completed! ==================\n",
"3pages obtained for symbol: 002179\n",
"================== symbol002179completed! ==================\n",
"3pages obtained for symbol: 002180\n",
"================== symbol002180completed! ==================\n",
"4pages obtained for symbol: 002202\n",
"================== symbol002202completed! ==================\n",
"11pages obtained for symbol: 002230\n",
"================== symbol002230completed! ==================\n",
"6pages obtained for symbol: 002236\n",
"================== symbol002236completed! ==================\n",
"7pages obtained for symbol: 002241\n",
"================== symbol002241completed! ==================\n",
"4pages obtained for symbol: 002252\n",
"================== symbol002252completed! ==================\n",
"6pages obtained for symbol: 002271\n",
"================== symbol002271completed! ==================\n",
"7pages obtained for symbol: 002304\n",
"================== symbol002304completed! ==================\n",
"4pages obtained for symbol: 002311\n",
"================== symbol002311completed! ==================\n",
"9pages obtained for symbol: 002352\n",
"================== symbol002352completed! ==================\n",
"8pages obtained for symbol: 002371\n",
"================== symbol002371completed! ==================\n",
"4pages obtained for symbol: 002410\n",
"================== symbol002410completed! ==================\n",
"2pages obtained for symbol: 002414\n",
"================== symbol002414completed! ==================\n",
"6pages obtained for symbol: 002415\n",
"================== symbol002415completed! ==================\n",
"9pages obtained for symbol: 002459\n",
"================== symbol002459completed! ==================\n",
"8pages obtained for symbol: 002460\n",
"================== symbol002460completed! ==================\n",
"8pages obtained for symbol: 002466\n",
"================== symbol002466completed! ==================\n",
"8pages obtained for symbol: 002475\n",
"================== symbol002475completed! ==================\n",
"6pages obtained for symbol: 002493\n",
"================== symbol002493completed! ==================\n",
"7pages obtained for symbol: 002555\n",
"================== symbol002555completed! ==================\n",
"11pages obtained for symbol: 002594\n",
"================== symbol002594completed! ==================\n",
"4pages obtained for symbol: 002601\n",
"================== symbol002601completed! ==================\n",
"4pages obtained for symbol: 002648\n",
"================== symbol002648completed! ==================\n",
"5pages obtained for symbol: 002709\n",
"================== symbol002709completed! ==================\n",
"11pages obtained for symbol: 002714\n",
"================== symbol002714completed! ==================\n",
"3pages obtained for symbol: 002736\n",
"================== symbol002736completed! ==================\n",
"4pages obtained for symbol: 002756\n",
"================== symbol002756completed! ==================\n",
"8pages obtained for symbol: 002812\n",
"================== symbol002812completed! ==================\n",
"5pages obtained for symbol: 002821\n",
"================== symbol002821completed! ==================\n",
"3pages obtained for symbol: 002841\n",
"================== symbol002841completed! ==================\n",
"4pages obtained for symbol: 002916\n",
"================== symbol002916completed! ==================\n",
"7pages obtained for symbol: 002920\n",
"================== symbol002920completed! ==================\n",
"4pages obtained for symbol: 002938\n",
"================== symbol002938completed! ==================\n",
"4pages obtained for symbol: 003816\n",
"================== symbol003816completed! ==================\n",
"9pages obtained for symbol: 300014\n",
"================== symbol300014completed! ==================\n",
"5pages obtained for symbol: 300015\n",
"================== symbol300015completed! ==================\n",
"7pages obtained for symbol: 300033\n",
"================== symbol300033completed! ==================\n",
"8pages obtained for symbol: 300059\n",
"================== symbol300059completed! ==================\n",
"7pages obtained for symbol: 300122\n",
"================== symbol300122completed! ==================\n",
"7pages obtained for symbol: 300124\n",
"================== symbol300124completed! ==================\n",
"6pages obtained for symbol: 300142\n",
"================== symbol300142completed! ==================\n",
"6pages obtained for symbol: 300207\n",
"================== symbol300207completed! ==================\n",
"6pages obtained for symbol: 300223\n",
"================== symbol300223completed! ==================\n",
"9pages obtained for symbol: 300274\n",
"================== symbol300274completed! ==================\n",
"5pages obtained for symbol: 300316\n",
"================== symbol300316completed! ==================\n",
"3pages obtained for symbol: 300347\n",
"================== symbol300347completed! ==================\n",
"2pages obtained for symbol: 300408\n",
"================== symbol300408completed! ==================\n",
"4pages obtained for symbol: 300413\n",
"================== symbol300413completed! ==================\n",
"4pages obtained for symbol: 300433\n",
"================== symbol300433completed! ==================\n",
"3pages obtained for symbol: 300450\n",
"================== symbol300450completed! ==================\n",
"4pages obtained for symbol: 300454\n",
"================== symbol300454completed! ==================\n",
"5pages obtained for symbol: 300496\n",
"================== symbol300496completed! ==================\n",
"8pages obtained for symbol: 300498\n",
"================== symbol300498completed! ==================\n",
"4pages obtained for symbol: 300601\n",
"================== symbol300601completed! ==================\n",
"3pages obtained for symbol: 300628\n",
"================== symbol300628completed! ==================\n",
"3pages obtained for symbol: 300661\n",
"================== symbol300661completed! ==================\n",
"11pages obtained for symbol: 300750\n",
"================== symbol300750completed! ==================\n",
"5pages obtained for symbol: 300751\n",
"================== symbol300751completed! ==================\n",
"4pages obtained for symbol: 300759\n",
"================== symbol300759completed! ==================\n",
"10pages obtained for symbol: 300760\n",
"================== symbol300760completed! ==================\n",
"6pages obtained for symbol: 300763\n",
"================== symbol300763completed! ==================\n",
"5pages obtained for symbol: 300769\n",
"================== symbol300769completed! ==================\n",
"7pages obtained for symbol: 300782\n",
"================== symbol300782completed! ==================\n",
"9pages obtained for symbol: 300896\n",
"================== symbol300896completed! ==================\n",
"3pages obtained for symbol: 300919\n",
"================== symbol300919completed! ==================\n",
"6pages obtained for symbol: 300957\n",
"================== symbol300957completed! ==================\n",
"4pages obtained for symbol: 300979\n",
"================== symbol300979completed! ==================\n",
"5pages obtained for symbol: 300999\n",
"================== symbol300999completed! ==================\n",
"5pages obtained for symbol: 600000\n",
"================== symbol600000completed! ==================\n",
"5pages obtained for symbol: 600009\n",
"================== symbol600009completed! ==================\n",
"5pages obtained for symbol: 600010\n",
"================== symbol600010completed! ==================\n",
"3pages obtained for symbol: 600011\n",
"================== symbol600011completed! ==================\n",
"4pages obtained for symbol: 600015\n",
"================== symbol600015completed! ==================\n",
"5pages obtained for symbol: 600016\n",
"================== symbol600016completed! ==================\n",
"2pages obtained for symbol: 600018\n",
"================== symbol600018completed! ==================\n",
"5pages obtained for symbol: 600019\n",
"================== symbol600019completed! ==================\n",
"3pages obtained for symbol: 600025\n",
"================== symbol600025completed! ==================\n",
"9pages obtained for symbol: 600028\n",
"================== symbol600028completed! ==================\n",
"7pages obtained for symbol: 600029\n",
"================== symbol600029completed! ==================\n",
"8pages obtained for symbol: 600030\n",
"================== symbol600030completed! ==================\n",
"5pages obtained for symbol: 600031\n",
"================== symbol600031completed! ==================\n",
"8pages obtained for symbol: 600036\n",
"================== symbol600036completed! ==================\n",
"5pages obtained for symbol: 600039\n",
"================== symbol600039completed! ==================\n",
"7pages obtained for symbol: 600048\n",
"================== symbol600048completed! ==================\n",
"9pages obtained for symbol: 600050\n",
"================== symbol600050completed! ==================\n",
"2pages obtained for symbol: 600061\n",
"================== symbol600061completed! ==================\n",
"3pages obtained for symbol: 600085\n",
"================== symbol600085completed! ==================\n",
"5pages obtained for symbol: 600089\n",
"================== symbol600089completed! ==================\n",
"10pages obtained for symbol: 600104\n",
"================== symbol600104completed! ==================\n",
"4pages obtained for symbol: 600111\n",
"================== symbol600111completed! ==================\n",
"9pages obtained for symbol: 600115\n",
"================== symbol600115completed! ==================\n",
"4pages obtained for symbol: 600132\n",
"================== symbol600132completed! ==================\n",
"5pages obtained for symbol: 600150\n",
"================== symbol600150completed! ==================\n",
"4pages obtained for symbol: 600176\n",
"================== symbol600176completed! ==================\n",
"3pages obtained for symbol: 600183\n",
"================== symbol600183completed! ==================\n",
"5pages obtained for symbol: 600188\n",
"================== symbol600188completed! ==================\n",
"7pages obtained for symbol: 600196\n",
"================== symbol600196completed! ==================\n",
"3pages obtained for symbol: 600219\n",
"================== symbol600219completed! ==================\n",
"5pages obtained for symbol: 600233\n",
"================== symbol600233completed! ==================\n",
"11pages obtained for symbol: 600276\n",
"================== symbol600276completed! ==================\n",
"6pages obtained for symbol: 600309\n",
"================== symbol600309completed! ==================\n",
"4pages obtained for symbol: 600332\n",
"================== symbol600332completed! ==================\n",
"4pages obtained for symbol: 600346\n",
"================== symbol600346completed! ==================\n",
"2pages obtained for symbol: 600362\n",
"================== symbol600362completed! ==================\n",
"5pages obtained for symbol: 600383\n",
"================== symbol600383completed! ==================\n",
"3pages obtained for symbol: 600406\n",
"================== symbol600406completed! ==================\n",
"3pages obtained for symbol: 600426\n",
"================== symbol600426completed! ==================\n",
"7pages obtained for symbol: 600436\n",
"================== symbol600436completed! ==================\n",
"10pages obtained for symbol: 600438\n",
"================== symbol600438completed! ==================\n",
"3pages obtained for symbol: 600460\n",
"================== symbol600460completed! ==================\n",
"11pages obtained for symbol: 600519\n",
"================== symbol600519completed! ==================\n",
"5pages obtained for symbol: 600547\n",
"================== symbol600547completed! ==================\n",
"5pages obtained for symbol: 600570\n",
"================== symbol600570completed! ==================\n",
"3pages obtained for symbol: 600584\n",
"================== symbol600584completed! ==================\n",
"3pages obtained for symbol: 600585\n",
"================== symbol600585completed! ==================\n",
"4pages obtained for symbol: 600588\n",
"================== symbol600588completed! ==================\n",
"6pages obtained for symbol: 600600\n",
"================== symbol600600completed! ==================\n",
"3pages obtained for symbol: 600606\n",
"================== symbol600606completed! ==================\n",
"3pages obtained for symbol: 600660\n",
"================== symbol600660completed! ==================\n",
"3pages obtained for symbol: 600674\n",
"================== symbol600674completed! ==================\n",
"5pages obtained for symbol: 600690\n",
"================== symbol600690completed! ==================\n",
"6pages obtained for symbol: 600732\n",
"================== symbol600732completed! ==================\n",
"2pages obtained for symbol: 600741\n",
"================== symbol600741completed! ==================\n",
"4pages obtained for symbol: 600745\n",
"================== symbol600745completed! ==================\n",
"4pages obtained for symbol: 600754\n",
"================== symbol600754completed! ==================\n",
"3pages obtained for symbol: 600760\n",
"================== symbol600760completed! ==================\n",
"5pages obtained for symbol: 600763\n",
"================== symbol600763completed! ==================\n",
"3pages obtained for symbol: 600795\n",
"================== symbol600795completed! ==================\n",
"4pages obtained for symbol: 600803\n",
"================== symbol600803completed! ==================\n",
"9pages obtained for symbol: 600809\n",
"================== symbol600809completed! ==================\n",
"5pages obtained for symbol: 600837\n",
"================== symbol600837completed! ==================\n",
"3pages obtained for symbol: 600845\n",
"================== symbol600845completed! ==================\n",
"3pages obtained for symbol: 600875\n",
"================== symbol600875completed! ==================\n",
"5pages obtained for symbol: 600884\n",
"================== symbol600884completed! ==================\n",
"3pages obtained for symbol: 600886\n",
"================== symbol600886completed! ==================\n",
"5pages obtained for symbol: 600887\n",
"================== symbol600887completed! ==================\n",
"2pages obtained for symbol: 600893\n",
"================== symbol600893completed! ==================\n",
"6pages obtained for symbol: 600900\n",
"================== symbol600900completed! ==================\n",
"4pages obtained for symbol: 600905\n",
"================== symbol600905completed! ==================\n",
"4pages obtained for symbol: 600918\n",
"================== symbol600918completed! ==================\n",
"6pages obtained for symbol: 600919\n",
"================== symbol600919completed! ==================\n",
"5pages obtained for symbol: 600926\n",
"================== symbol600926completed! ==================\n",
"11pages obtained for symbol: 600941\n",
"================== symbol600941completed! ==================\n",
"5pages obtained for symbol: 600958\n",
"================== symbol600958completed! ==================\n",
"4pages obtained for symbol: 600989\n",
"================== symbol600989completed! ==================\n",
"3pages obtained for symbol: 600999\n",
"================== symbol600999completed! ==================\n",
"3pages obtained for symbol: 601006\n",
"================== symbol601006completed! ==================\n",
"3pages obtained for symbol: 601009\n",
"================== symbol601009completed! ==================\n",
"11pages obtained for symbol: 601012\n",
"================== symbol601012completed! ==================\n",
"5pages obtained for symbol: 601021\n",
"================== symbol601021completed! ==================\n",
"4pages obtained for symbol: 601066\n",
"================== symbol601066completed! ==================\n",
"6pages obtained for symbol: 601088\n",
"================== symbol601088completed! ==================\n",
"2pages obtained for symbol: 601100\n",
"================== symbol601100completed! ==================\n",
"7pages obtained for symbol: 601111\n",
"================== symbol601111completed! ==================\n",
"4pages obtained for symbol: 601117\n",
"================== symbol601117completed! ==================\n",
"11pages obtained for symbol: 601138\n",
"================== symbol601138completed! ==================\n",
"4pages obtained for symbol: 601155\n",
"================== symbol601155completed! ==================\n",
"8pages obtained for symbol: 601166\n",
"================== symbol601166completed! ==================\n",
"4pages obtained for symbol: 601169\n",
"================== symbol601169completed! ==================\n",
"4pages obtained for symbol: 601186\n",
"================== symbol601186completed! ==================\n",
"5pages obtained for symbol: 601211\n",
"================== symbol601211completed! ==================\n",
"2pages obtained for symbol: 601216\n",
"================== symbol601216completed! ==================\n",
"4pages obtained for symbol: 601225\n",
"================== symbol601225completed! ==================\n",
"4pages obtained for symbol: 601229\n",
"================== symbol601229completed! ==================\n",
"3pages obtained for symbol: 601236\n",
"================== symbol601236completed! ==================\n",
"11pages obtained for symbol: 601238\n",
"================== symbol601238completed! ==================\n",
"9pages obtained for symbol: 601288\n",
"================== symbol601288completed! ==================\n",
"11pages obtained for symbol: 601318\n",
"================== symbol601318completed! ==================\n",
"6pages obtained for symbol: 601319\n",
"================== symbol601319completed! ==================\n",
"5pages obtained for symbol: 601328\n",
"================== symbol601328completed! ==================\n",
"7pages obtained for symbol: 601336\n",
"================== symbol601336completed! ==================\n",
"10pages obtained for symbol: 601360\n",
"================== symbol601360completed! ==================\n",
"3pages obtained for symbol: 601377\n",
"================== symbol601377completed! ==================\n",
"4pages obtained for symbol: 601390\n",
"================== symbol601390completed! ==================\n",
"8pages obtained for symbol: 601398\n",
"================== symbol601398completed! ==================\n",
"3pages obtained for symbol: 601600\n",
"================== symbol601600completed! ==================\n",
"7pages obtained for symbol: 601601\n",
"================== symbol601601completed! ==================\n",
"5pages obtained for symbol: 601607\n",
"================== symbol601607completed! ==================\n",
"4pages obtained for symbol: 601615\n",
"================== symbol601615completed! ==================\n",
"3pages obtained for symbol: 601618\n",
"================== symbol601618completed! ==================\n",
"10pages obtained for symbol: 601628\n",
"================== symbol601628completed! ==================\n",
"10pages obtained for symbol: 601633\n",
"================== symbol601633completed! ==================\n",
"8pages obtained for symbol: 601658\n",
"================== symbol601658completed! ==================\n",
"6pages obtained for symbol: 601668\n",
"================== symbol601668completed! ==================\n",
"6pages obtained for symbol: 601669\n",
"================== symbol601669completed! ==================\n",
"4pages obtained for symbol: 601688\n",
"================== symbol601688completed! ==================\n",
"4pages obtained for symbol: 601689\n",
"================== symbol601689completed! ==================\n",
"3pages obtained for symbol: 601698\n",
"================== symbol601698completed! ==================\n",
"4pages obtained for symbol: 601699\n",
"================== symbol601699completed! ==================\n",
"8pages obtained for symbol: 601728\n",
"================== symbol601728completed! ==================\n",
"5pages obtained for symbol: 601766\n",
"================== symbol601766completed! ==================\n",
"4pages obtained for symbol: 601788\n",
"================== symbol601788completed! ==================\n",
"5pages obtained for symbol: 601799\n",
"================== symbol601799completed! ==================\n",
"4pages obtained for symbol: 601800\n",
"================== symbol601800completed! ==================\n",
"3pages obtained for symbol: 601808\n",
"================== symbol601808completed! ==================\n",
"3pages obtained for symbol: 601816\n",
"================== symbol601816completed! ==================\n",
"5pages obtained for symbol: 601818\n",
"================== symbol601818completed! ==================\n",
"3pages obtained for symbol: 601838\n",
"================== symbol601838completed! ==================\n",
"7pages obtained for symbol: 601857\n",
"================== symbol601857completed! ==================\n",
"4pages obtained for symbol: 601865\n",
"================== symbol601865completed! ==================\n",
"4pages obtained for symbol: 601868\n",
"================== symbol601868completed! ==================\n",
"3pages obtained for symbol: 601872\n",
"================== symbol601872completed! ==================\n",
"3pages obtained for symbol: 601877\n",
"================== symbol601877completed! ==================\n",
"5pages obtained for symbol: 601878\n",
"================== symbol601878completed! ==================\n",
"5pages obtained for symbol: 601881\n",
"================== symbol601881completed! ==================\n",
"9pages obtained for symbol: 601888\n",
"================== symbol601888completed! ==================\n",
"3pages obtained for symbol: 601898\n",
"================== symbol601898completed! ==================\n",
"7pages obtained for symbol: 601899\n",
"================== symbol601899completed! ==================\n",
"5pages obtained for symbol: 601901\n",
"================== symbol601901completed! ==================\n",
"5pages obtained for symbol: 601919\n",
"================== symbol601919completed! ==================\n",
"8pages obtained for symbol: 601939\n",
"================== symbol601939completed! ==================\n",
"4pages obtained for symbol: 601985\n",
"================== symbol601985completed! ==================\n",
"8pages obtained for symbol: 601988\n",
"================== symbol601988completed! ==================\n",
"2pages obtained for symbol: 601989\n",
"================== symbol601989completed! ==================\n",
"6pages obtained for symbol: 601995\n",
"================== symbol601995completed! ==================\n",
"6pages obtained for symbol: 601998\n",
"================== symbol601998completed! ==================\n",
"6pages obtained for symbol: 603019\n",
"================== symbol603019completed! ==================\n",
"4pages obtained for symbol: 603185\n",
"================== symbol603185completed! ==================\n",
"5pages obtained for symbol: 603195\n",
"================== symbol603195completed! ==================\n",
"7pages obtained for symbol: 603259\n",
"================== symbol603259completed! ==================\n",
"5pages obtained for symbol: 603260\n",
"================== symbol603260completed! ==================\n",
"4pages obtained for symbol: 603288\n",
"================== symbol603288completed! ==================\n",
"4pages obtained for symbol: 603290\n",
"================== symbol603290completed! ==================\n",
"4pages obtained for symbol: 603369\n",
"================== symbol603369completed! ==================\n",
"6pages obtained for symbol: 603392\n",
"================== symbol603392completed! ==================\n",
"3pages obtained for symbol: 603486\n",
"================== symbol603486completed! ==================\n",
"6pages obtained for symbol: 603501\n",
"================== symbol603501completed! ==================\n",
"4pages obtained for symbol: 603659\n",
"================== symbol603659completed! ==================\n",
"5pages obtained for symbol: 603799\n",
"================== symbol603799completed! ==================\n",
"3pages obtained for symbol: 603806\n",
"================== symbol603806completed! ==================\n",
"5pages obtained for symbol: 603833\n",
"================== symbol603833completed! ==================\n",
"2pages obtained for symbol: 603899\n",
"================== symbol603899completed! ==================\n",
"5pages obtained for symbol: 603986\n",
"================== symbol603986completed! ==================\n",
"4pages obtained for symbol: 603993\n",
"================== symbol603993completed! ==================\n",
"5pages obtained for symbol: 605117\n",
"================== symbol605117completed! ==================\n",
"7pages obtained for symbol: 605499\n",
"================== symbol605499completed! ==================\n",
"6pages obtained for symbol: 688005\n",
"================== symbol688005completed! ==================\n",
"5pages obtained for symbol: 688008\n",
"================== symbol688008completed! ==================\n",
"9pages obtained for symbol: 688012\n",
"================== symbol688012completed! ==================\n",
"8pages obtained for symbol: 688036\n",
"================== symbol688036completed! ==================\n",
"3pages obtained for symbol: 688065\n",
"================== symbol688065completed! ==================\n",
"11pages obtained for symbol: 688111\n",
"================== symbol688111completed! ==================\n",
"4pages obtained for symbol: 688126\n",
"================== symbol688126completed! ==================\n",
"3pages obtained for symbol: 688187\n",
"================== symbol688187completed! ==================\n",
"10pages obtained for symbol: 688223\n",
"================== symbol688223completed! ==================\n",
"6pages obtained for symbol: 688303\n",
"================== symbol688303completed! ==================\n",
"6pages obtained for symbol: 688363\n",
"================== symbol688363completed! ==================\n",
"3pages obtained for symbol: 688396\n",
"================== symbol688396completed! ==================\n",
"5pages obtained for symbol: 688561\n",
"================== symbol688561completed! ==================\n",
"10pages obtained for symbol: 688599\n",
"================== symbol688599completed! ==================\n",
"8pages obtained for symbol: 688981\n",
"================== symbol688981completed! ==================\n"
]
}
],
"source": [
"# Data Aquisition Pipeline\n",
"from datetime import date\n",
"import akshare as ak\n",
"name_dir = \"HS300_news_data\" + str(date.today().strftime(\"%Y%m%d\"))\n",
"# os.makedirs(name_dir, exist_ok=True)\n",
"os.chdir(name_dir)\n",
"for i in HS_index[2:]:\n",
" file_name = \"news_data\" + i + \".csv\"\n",
" df_list = []\n",
" for j in range(1, 20):\n",
" try:\n",
" df_list.append(ak.stock_news_em(symbol=i, page=j))\n",
" except KeyError:\n",
" print(str(j) + \"pages obtained for symbol: \" + i)\n",
" break\n",
" news_df_i = pd.concat(df_list, ignore_index=True)\n",
" news_df_i.to_csv(file_name)\n",
" print(\"================== symbol\"+i+\"completed! ==================\")"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Data Aquisition"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import akshare as ak\n",
"import pandas as pd\n",
"import time\n",
"import math\n",
"import json\n",
"import random\n",
"start_date = \"20230406\"\n",
"end_date = \"20230502\""
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"def return_transform(ret):\n",
" \n",
" up_down = '涨' if ret >= 0 else '跌'\n",
" integer = math.ceil(abs(100 * ret))\n",
" \n",
" return up_down + (str(integer) if integer <= 5 else '5+')\n",
"\n",
"def get_return(symbol, start_date = start_date, end_date = end_date, adjust=\"hfq\"):\n",
" \"\"\"\n",
" Get stock return data.\n",
"\n",
" Args:\n",
" symbol: str\n",
" A-share market stock symbol\n",
" start_date, end_date: str\n",
" format: yyyymmdd\n",
" adjust: str (\"qfq\", \"hfq\")\n",
" price ajustment\n",
" default = \"hfq\" 后复权\n",
" \n",
" Return:\n",
" weekly forward filled return data\n",
" \"\"\"\n",
" \n",
" # load data\n",
" return_data = ak.stock_zh_a_hist(symbol=symbol, period=\"daily\", start_date=start_date, end_date=end_date, adjust=adjust)\n",
" \n",
" # process timestamp\n",
" return_data[\"日期\"] = pd.to_datetime(return_data[\"日期\"])\n",
" return_data.set_index(\"日期\", inplace=True)\n",
"\n",
" # resample and filled with forward data\n",
" weekly_data = return_data[\"收盘\"].resample(\"W\").ffill()\n",
" weekly_returns = weekly_data.pct_change()[1:]\n",
" weekly_start_prices = weekly_data[:-1]\n",
" weekly_end_prices = weekly_data[1:]\n",
" weekly_data = pd.DataFrame({\n",
" '起始日期': weekly_start_prices.index,\n",
" '起始价': weekly_start_prices.values,\n",
" '结算日期': weekly_end_prices.index,\n",
" '结算价': weekly_end_prices.values,\n",
" '周收益': weekly_returns.values\n",
" })\n",
" weekly_data[\"简化周收益\"] = weekly_data[\"周收益\"].map(return_transform)\n",
" \n",
" return weekly_data\n",
"\n",
"# get basics\n",
"def get_basic(symbol, data, no_validrange = False):\n",
" \"\"\"\n",
" Get and match basic data to news dataframe.\n",
"\n",
" Args:\n",
" symbol: str\n",
" A-share market stock symbol\n",
" data: DataFrame\n",
" dated news data\n",
" no_validrange: bool\n",
" False to set range for the valid basic_info.\n",
" default valid range is 3 weeks after the basic_info reported\n",
" \n",
" Return:\n",
" financial news dataframe with matched basic_financial info\n",
" \"\"\"\n",
"\n",
" # load quarterly basic data\n",
" basic_quarter_financials = ak.stock_financial_abstract_ths(symbol = symbol, indicator=\"按单季度\")\n",
"\n",
" basic_fin_dict = basic_quarter_financials.to_dict(\"index\")\n",
" basic_fin_list = [dict([(key, val) for key, val in basic_fin_dict[i].items() if val]) for i in range(len(basic_fin_dict))]\n",
"\n",
" # match basic financial data to news dataframe\n",
" matched_basic_fin = []\n",
" for i, row in data.iterrows():\n",
"\n",
" newsweek_enddate = row['结算日期'].strftime(\"%Y-%m-%d\")\n",
" \n",
" # set 3 weeks for the valid time of quarterly basic_financial info \n",
" check_date = start_date if i<2 else data.loc[i-2, '起始日期'].strftime(\"%Y-%m-%d\")\n",
"\n",
" matched_basic = {}\n",
" for basic in basic_fin_list:\n",
" if (no_validrange and basic[\"报告期\"] < newsweek_enddate) or (check_date <= basic[\"报告期\"] < newsweek_enddate):\n",
" matched_basic = basic\n",
" break\n",
" matched_basic_fin.append(json.dumps(matched_basic, ensure_ascii=False))\n",
"\n",
" data['基本面'] = matched_basic_fin\n",
"\n",
" return data\n",
"\n",
"def raw_financial_data(symbol, with_basics = True):\n",
" \n",
" # get return data from API\n",
" data = get_return(symbol=symbol)\n",
" \n",
" # get news data from local\n",
" file_name = \"news_data\" + symbol + \".csv\"\n",
" news_df = pd.read_csv(\"HS300_news_data20240118/\"+file_name, index_col=0)\n",
" news_df[\"发布时间\"] = pd.to_datetime(news_df[\"发布时间\"], exact=False, format=\"%Y-%m-%d\")\n",
" news_df.sort_values(by=[\"发布时间\"], inplace=True)\n",
" \n",
" # match weekly news for return data\n",
" news_list = []\n",
" for a, row in data.iterrows():\n",
" start_date = row['起始日期'].strftime('%Y-%m-%d')\n",
" end_date = row['结算日期'].strftime('%Y-%m-%d')\n",
" print(symbol, ': ', start_date, ' - ', end_date)\n",
" \n",
" weekly_news = news_df.loc[(news_df[\"发布时间\"]>start_date) & (news_df[\"发布时间\"]<end_date)]\n",
" weekly_news = [\n",
" {\n",
" \"发布时间\": n[\"发布时间\"].strftime('%Y%m%d'),\n",
" \"新闻标题\": n['新闻标题'],\n",
" \"新闻内容\": n['新闻内容'],\n",
" } for a, n in weekly_news.iterrows()\n",
" ]\n",
" news_list.append(json.dumps(weekly_news,ensure_ascii=False))\n",
"\n",
" data[\"新闻\"] = news_list\n",
"\n",
" if with_basics:\n",
" data = get_basic(symbol=symbol, data=data, no_validrange=True)\n",
" data.to_csv(symbol+start_date+\"_\"+end_date+\".csv\")\n",
" else:\n",
" data['新闻'] = [json.dumps({})] * len(data)\n",
" data.to_csv(symbol+start_date+\"_\"+end_date+\"_nobasics.csv\")\n",
" \n",
" return data"
]
},
{
"attachments": {},
"cell_type": "markdown",
"metadata": {},
"source": [
"# Prompt Generation"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [],
"source": [
"def get_company_prompt(symbol):\n",
" \"\"\"\n",
" Get company information from API\n",
" \"\"\"\n",
" company_profile = dict(ak.stock_individual_info_em(symbol).values)\n",
" company_profile[\"上市时间\"] = pd.to_datetime(company_profile[\"上市时间\"]).strftime(\"%Y年%m月%d日\")\n",
"\n",
" template = \"[公司介绍]:\\n\\n{股票简称}是一家在{行业}行业的领先实体。自{上市时间}成立并公开交易以来,该公司已确立其作为市场主要参与者之一的声誉。截止今天,{股票简称}的总市值为{总市值}人民币,总股本数为{总股本},流通市值为{流通市值}人民币,流通股数为{流通股}。\" \\\n",
" \"\\n\\n{股票简称}主要在中国运营,以股票代码{股票代码}在交易所进行交易。作为在{行业}行业的一个主导力量,该公司持续创新,不断推动行业进步。\"\n",
" \n",
" formatted_profile = template.format(**company_profile)\n",
"\n",
" return formatted_profile\n",
"\n",
"def map_return_label(return_lb):\n",
" \"\"\"\n",
" Map abbrev in the raw data\n",
" Example:\n",
" 涨1 -- 上涨1%\n",
" 跌2 -- 下跌2%\n",
" \"\"\"\n",
" \n",
" lb = return_lb.replace('涨', '上涨')\n",
" lb = lb.replace('跌', '下跌')\n",
" lb = lb.replace('1', '0-1%')\n",
" lb = lb.replace('2', '1-2%')\n",
" lb = lb.replace('3', '2-3%')\n",
" lb = lb.replace('4', '3-4%')\n",
" if lb.endswith('+'):\n",
" lb = lb.replace('5+', '超过5%')\n",
" else:\n",
" lb = lb.replace('5', '4-5%')\n",
" \n",
" return lb\n",
"\n",
"def get_prompt_by_row(symbol, row):\n",
" \"\"\"\n",
" Generate prompt for each row in the raw data DF\n",
" Args:\n",
" symbol: str\n",
" stock ticker\n",
" row: pandas.Series\n",
" Return:\n",
" head: heading prompt\n",
" news: news info\n",
" basics: basic financial info\n",
" \"\"\"\n",
"\n",
" start_date = row['起始日期'] if isinstance(row['起始日期'], str) else row['起始日期'].strftime('%Y-%m-%d')\n",
" end_date = row['结算日期'] if isinstance(row['结算日期'], str) else row['结算日期'].strftime('%Y-%m-%d')\n",
" term = '上涨' if row['结算价'] > row['起始价'] else '下跌'\n",
" head = \"自{}至{}{}的股票价格由{:.2f}{}至{:.2f}。在此期间的公司新闻如下所列:\\n\\n\".format(\n",
" start_date, end_date, symbol, row['起始价'], term, row['结算价'])\n",
"\n",
" news = json.loads(row[\"新闻\"])\n",
" news = [\"[新闻标题]{}\\n[新闻内容]{}\\n\".format(\n",
" n['新闻标题'], n['新闻内容']) for n in news if n['发布时间'][:8] <= end_date.replace('-', '')]\n",
"\n",
" basics = json.loads(row['基本面'])\n",
" if basics:\n",
" basics = \"如下所列为{}近期的一些金融基本面信息,记录时间为{}:\\n\\n[金融基本面]:\\n\\n\".format(\n",
" symbol, basics['报告期']) + \"\\n\".join(f\"{k}: {v}\" for k, v in basics.items() if k != 'period')\n",
" else:\n",
" basics = \"[金融基本面]:\\n\\n 无金融基本面记录\"\n",
"\n",
" return head, news, basics\n",
"\n",
"def sample_news(news, k=5):\n",
" \"\"\"\n",
" Ramdomly select past news.\n",
"\n",
" Args:\n",
" news:\n",
" newslist in the timerange\n",
" k: int\n",
" the number of selected news\n",
" \"\"\"\n",
" return [news[i] for i in sorted(random.sample(range(len(news)), k))]\n",
"\n",
"def get_all_prompts(symbol, min_past_week=1, max_past_weeks=3, with_basics=True):\n",
" \"\"\"\n",
" Generate prompt\n",
" Args:\n",
" symbol: str\n",
" stock ticker\n",
" min_past_week: int\n",
" max_past_week: int\n",
" with_basics: bool\n",
" If true, add basic infomation to the prompt\n",
" Return:\n",
" Prompts for the daterange\n",
" \"\"\"\n",
"\n",
" # Load Data\n",
" df = raw_financial_data(symbol, with_basics)\n",
" \n",
" company_prompt = get_company_prompt(symbol)\n",
"\n",
" prev_rows = []\n",
" all_prompts = []\n",
"\n",
" for row_idx, row in df.iterrows():\n",
"\n",
" prompt = \"\"\n",
"\n",
" # judge for available history news \n",
" if len(prev_rows) >= min_past_week:\n",
"\n",
" # randomly set retrieve weeks\n",
" idx = min(random.choice(range(min_past_week, max_past_weeks+1)), len(prev_rows))\n",
" for i in range(-idx, 0):\n",
" # Add Head\n",
" prompt += \"\\n\" + prev_rows[i][0]\n",
" # Add History News (with numbers constraint)\n",
" sampled_news = sample_news(\n",
" prev_rows[i][1],\n",
" min(5, len(prev_rows[i][1]))\n",
" )\n",
" if sampled_news:\n",
" prompt += \"\\n\".join(sampled_news)\n",
" else:\n",
" prompt += \"无有关新闻报告\"\n",
" \n",
" head, news, basics = get_prompt_by_row(symbol, row)\n",
" \n",
" prev_rows.append((head, news, basics))\n",
"\n",
" if len(prev_rows) > max_past_weeks:\n",
" prev_rows.pop(0)\n",
" \n",
" # set this to make sure there is history news for each considered date\n",
" if not prompt:\n",
" continue\n",
"\n",
" prediction = map_return_label(row['简化周收益'])\n",
"\n",
" prompt = company_prompt + '\\n' + prompt + '\\n' + basics\n",
" prompt += f\"\\n\\n基于在{row['起始日期']}之前的所有信息,让我们首先分析{symbol}的积极发展和潜在担忧。保持陈述的简洁分别提出2-4个最重要的因素。大部分所提及的因素应该从公司的相关新闻中推断出来。\" \\\n",
" f\"那么让我们假设你对于下一周({row['起始日期']}至{row['结算日期']})的预测是{prediction}。提供一个总结分析来支持你的预测。预测结果需要从你最后的分析中推断出来,因此不作为你分析的基础因素。\"\n",
"\n",
" all_prompts.append(prompt.strip())\n",
"\n",
" return all_prompts"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"000001 : 2023-04-09 - 2023-04-16\n",
"000001 : 2023-04-16 - 2023-04-23\n",
"000001 : 2023-04-23 - 2023-04-30\n"
]
},
{
"data": {
"text/plain": [
"['[公司介绍]:\\n\\n平安银行是一家在银行行业的领先实体。自1970年01月01日成立并公开交易以来该公司已确立其作为市场主要参与者之一的声誉。截止今天平安银行的总市值为178534447421.59998人民币总股本数为19405918198.0流通市值为178531031940.0人民币流通股数为19405546950.0。\\n\\n平安银行主要在中国运营以股票代码000001在交易所进行交易。作为在银行行业的一个主导力量该公司持续创新不断推动行业进步。\\n\\n自2023-04-09至2023-04-16000001的股票价格由2257.00上涨至2268.38。在此期间的公司新闻如下所列:\\n\\n[新闻标题]金融业高薪招聘AI训练师 有AI产品负责人年薪超百万\\n[新闻内容]:优先考虑具有拥有虚拟偶像、数字人相关产品工作经验者等。 BOSS直聘官网截图 也有一些相对“平易近人”的工作岗位。 如平安银行000001.SZ)网金及财富管理事业部招聘AI业务策略训练师薪资待遇为1万-1.5万元/月。 平安银行介绍称,该岗位负责业务策略训练,将业务策略在智慧经营平台做落地实施,将策略与各触达方式做串联部署\\n\\n[新闻标题]:平安银行王蓉晖:矩阵式产品服务实现“真小微 真信用 真普惠”\\n[新闻内容]:就业多则经济活。 今年3月在平安银行开放日上平安银行董事长谢永林表示全新的开放银行不仅是支持零售转型战略的新打法而且通过服务平台上的海量小微客户平安银行在服务小微践行普惠金融方面也探索出了新举措。 平安银行财报显示截至2022年末平安银行普惠型小微企业贷款累计户数105\\n\\n[新闻标题]20股特大单净流入资金超2亿元\\n[新闻内容]491.562.30建筑装饰300120经纬辉开8.7819.952.28电子002051中工国际12.5010.042.25建筑装饰000001平安银行12.691.042.24银行601138工业富联18.072.322.09电子300014亿纬锂能68.904.242.07电力设备 特大单净流出资金排名\\n\\n如下所列为000001近期的一些金融基本面信息记录时间为2023-03-31:\\n\\n[金融基本面]:\\n\\n报告期: 2023-03-31\\n净利润: 146.02亿\\n净利润同比增长率: 13.63%\\n扣非净利润: 144.69亿\\n扣非净利润同比增长率: 12.40%\\n营业总收入: 450.98亿\\n营业总收入同比增长率: -2.40%\\n基本每股收益: 0.6500\\n每股净资产: 19.42\\n每股资本公积金: 4.16\\n每股未分配利润: 10.25\\n每股经营现金流: 5.62\\n销售净利率: 32.38%\\n净资产收益率: 3.39%\\n净资产收益率-摊薄: 3.27%\\n产权比率: 11.21\\n资产负债率: 91.81%\\n\\n基于在2023-04-16 00:00:00之前的所有信息让我们首先分析000001的积极发展和潜在担忧。保持陈述的简洁分别提出2-4个最重要的因素。大部分所提及的因素应该从公司的相关新闻中推断出来。那么让我们假设你对于下一周(2023-04-16 00:00:00至2023-04-23 00:00:00)的预测是下跌1-2%。提供一个总结分析来支持你的预测。预测结果需要从你最后的分析中推断出来,因此不作为你分析的基础因素。',\n",
" '[公司介绍]:\\n\\n平安银行是一家在银行行业的领先实体。自1970年01月01日成立并公开交易以来该公司已确立其作为市场主要参与者之一的声誉。截止今天平安银行的总市值为178534447421.59998人民币总股本数为19405918198.0流通市值为178531031940.0人民币流通股数为19405546950.0。\\n\\n平安银行主要在中国运营以股票代码000001在交易所进行交易。作为在银行行业的一个主导力量该公司持续创新不断推动行业进步。\\n\\n自2023-04-16至2023-04-23000001的股票价格由2268.38下跌至2237.50。在此期间的公司新闻如下所列:\\n\\n[新闻标题]北向资金昨日净买入22.64亿元光伏设备增持超10亿元名单\\n[新闻内容]:北向资金净卖出昆仑万维(300418.SZ)、金山办公(688111.SH)、平安银行000001.SZ)、华友钴业(603799.SH)、天齐锂业(002466.SZ)居前其中昆仑万维被净卖出4.30亿元金山办公被净卖出3.65亿元平安银行被净卖出3.60亿元华友钴业被净卖出2.76亿元天齐锂业被净卖出2\\n\\n如下所列为000001近期的一些金融基本面信息记录时间为2023-03-31:\\n\\n[金融基本面]:\\n\\n报告期: 2023-03-31\\n净利润: 146.02亿\\n净利润同比增长率: 13.63%\\n扣非净利润: 144.69亿\\n扣非净利润同比增长率: 12.40%\\n营业总收入: 450.98亿\\n营业总收入同比增长率: -2.40%\\n基本每股收益: 0.6500\\n每股净资产: 19.42\\n每股资本公积金: 4.16\\n每股未分配利润: 10.25\\n每股经营现金流: 5.62\\n销售净利率: 32.38%\\n净资产收益率: 3.39%\\n净资产收益率-摊薄: 3.27%\\n产权比率: 11.21\\n资产负债率: 91.81%\\n\\n基于在2023-04-23 00:00:00之前的所有信息让我们首先分析000001的积极发展和潜在担忧。保持陈述的简洁分别提出2-4个最重要的因素。大部分所提及的因素应该从公司的相关新闻中推断出来。那么让我们假设你对于下一周(2023-04-23 00:00:00至2023-04-30 00:00:00)的预测是上涨0-1%。提供一个总结分析来支持你的预测。预测结果需要从你最后的分析中推断出来,因此不作为你分析的基础因素。']"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"get_all_prompts(\"000001\")"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"你是一个经验丰富的股票市场分析师。你的任务是根据过去几周的相关新闻和基本财务状况,列出公司的积极发展和潜在担忧,然后对公司未来一周的股价走势提供分析和预测。你的回答格式应该如下:\n",
"\n",
"[积极发展]\n",
"1. ...\n",
"\n",
"[潜在担忧]\n",
"1. ...\n",
"\n",
"[预测和分析]\n",
"...\n",
"\n"
]
}
],
"source": [
"SYSTEM_PROMPT = \"你是一个经验丰富的股票市场分析师。你的任务是根据过去几周的相关新闻和基本财务状况,列出公司的积极发展和潜在担忧,然后对公司未来一周的股价走势提供分析和预测。\" \\\n",
" \"你的回答格式应该如下:\\n\\n[积极发展]\\n1. ...\\n\\n[潜在担忧]\\n1. ...\\n\\n[预测和分析]\\n...\\n\"\n",
"print(SYSTEM_PROMPT)"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"000001 : 2023-04-09 - 2023-04-16\n",
"000001 : 2023-04-16 - 2023-04-23\n",
"000001 : 2023-04-23 - 2023-04-30\n"
]
}
],
"source": [
"pmt = get_all_prompts(\"000001\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"from openai import OpenAI\n",
"client = OpenAI(api_key = '')\n",
"completion = client.chat.completions.create(\n",
" model = \"gpt-3.5-turbo\",\n",
" messages=[\n",
" {\"role\": \"system\", \"content\":SYSTEM_PROMPT},\n",
" {\"role\": \"user\", \"content\": pmt[1]}\n",
" ]\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"请求失败,状态码: 429\n",
"请求失败body: {\"error\":{\"code\":\"insufficient_quota\",\"param\":null,\"type\":\"insufficient_quota\",\"message\":\"You exceeded your current quota, please check your plan and billing details.\"}}\n",
"请求失败X-BC-Request-Id: cfcdb74d-9416-47e4-98d2-b6149fa1765f\n"
]
}
],
"source": [
"import requests\n",
"import json\n",
"\n",
"def do_request():\n",
" url = \"https://api.baichuan-ai.com/v1/chat/completions\"\n",
" api_key = \"sk-7c765c13dddfc800953163c1b98b9304\"\n",
"\n",
" data = {\n",
" \"model\": \"Baichuan2-Turbo\",\n",
" \"messages\": [\n",
" {\n",
" \"role\": \"user\",\n",
" \"content\": \"世界第一高峰是\"\n",
" }\n",
" ],\n",
" \"stream\": True\n",
" }\n",
"\n",
" json_data = json.dumps(data)\n",
"\n",
" headers = {\n",
" \"Content-Type\": \"application/json\",\n",
" \"Authorization\": \"Bearer \" + api_key\n",
" }\n",
"\n",
" response = requests.post(url, data=json_data, headers=headers, timeout=60)\n",
"\n",
" if response.status_code == 200:\n",
" print(\"请求成功!\")\n",
" print(\"响应body:\", response.text)\n",
" print(\"请求成功X-BC-Request-Id:\", response.headers.get(\"X-BC-Request-Id\"))\n",
" else:\n",
" print(\"请求失败,状态码:\", response.status_code)\n",
" print(\"请求失败body:\", response.text)\n",
" print(\"请求失败X-BC-Request-Id:\", response.headers.get(\"X-BC-Request-Id\"))\n",
"\n",
"if __name__ == \"__main__\":\n",
" do_request()\n",
"\n",
" "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "python310",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.10.13"
},
"orig_nbformat": 4
},
"nbformat": 4,
"nbformat_minor": 2
}