1
0

Compare commits

...

9 Commits

Author SHA1 Message Date
0dccacc0e2 增加金字塔选股规则 2025-01-09 18:11:36 +08:00
db713cb3b3 增加prophet 2025-01-09 18:11:29 +08:00
841630f9f1 增加B站跟学课程代码 2025-01-09 18:11:24 +08:00
5bf89d448d 增加数据采集操作 2025-01-09 18:11:11 +08:00
6e1e888606 使用样例数据尝试计算MACD 2025-01-09 18:11:09 +08:00
e15a5d41f9 尝试保存增量数据 2025-01-09 18:11:04 +08:00
4e792432c1 调试AkShare数据来源 2025-01-09 18:10:58 +08:00
a1e99ea5f7 安装常用依赖 2025-01-09 18:10:42 +08:00
8dcab5711e 初始化项目 2025-01-09 18:10:09 +08:00
8 changed files with 15039 additions and 5385 deletions

51
.idea/csv-editor.xml generated Normal file
View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CsvFileAttributes">
<option name="attributeMap">
<map>
<entry key="/document/ETF信息.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="/document/SZ000001.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="/document/Tushare股票信息.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="/document/指数基金信息.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="/document/新浪股票代码信息.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
<entry key="/temp/stock/SZ000001.csv">
<value>
<Attribute>
<option name="separator" value="," />
</Attribute>
</value>
</entry>
</map>
</option>
</component>
</project>

34
.idea/dataSources.xml generated Normal file
View File

@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DataSourceManagerImpl" format="xml" multifile-model="true">
<data-source source="LOCAL" name="root@frp-air.top" uuid="4e00be9e-f73a-422f-aed0-c30816ad52aa">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://frp-air.top:43458/</jdbc-url>
<jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.resource.type" value="Deployment" />
</jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
<data-source source="LOCAL" name="stock@frp-air.top" uuid="b5271197-5b8f-4c47-8580-243d89b63880">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://frp-air.top:43458/stock</jdbc-url>
<jdbc-additional-properties>
<property name="com.intellij.clouds.kubernetes.db.enabled" value="false" />
<property name="com.intellij.clouds.kubernetes.db.resource.type" value="Deployment" />
</jdbc-additional-properties>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
<data-source source="LOCAL" name="main@localhost" uuid="599837aa-a91c-4b7c-86be-08cddda134a2">
<driver-ref>mysql.8</driver-ref>
<synchronize>true</synchronize>
<jdbc-driver>com.mysql.cj.jdbc.Driver</jdbc-driver>
<jdbc-url>jdbc:mysql://localhost:3307/main</jdbc-url>
<working-dir>$ProjectFileDir$</working-dir>
</data-source>
</component>
</project>

8
.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/stock_leanrning.iml" filepath="$PROJECT_DIR$/.idea/stock_leanrning.iml" />
</modules>
</component>
</project>

View File

@@ -0,0 +1,247 @@
{
"cells": [
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2025-01-09T06:12:53.680561Z",
"start_time": "2025-01-09T06:12:52.994179Z"
}
},
"source": [
"import tushare as ts\n",
"\n",
"ts_pro = ts.pro_api(token=\"64ebff4fa679167600b905ee45dd88e76f3963c0ff39157f3f085f0e\")"
],
"outputs": [],
"execution_count": 2
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-01-09T06:28:32.524630Z",
"start_time": "2025-01-09T06:27:15.688831Z"
}
},
"cell_type": "code",
"source": [
"# 从1989年开始循环年份\n",
"for year in range(2000, 2024):\n",
" # ts_pro.balancesheet_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/资产负债表/{year}.csv\")\n",
" # ts_pro.cashflow_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/现金流量表/{year}.csv\")\n",
" # ts_pro.income_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/利润表/{year}.csv\")\n",
" ts_pro.fina_indicator_vip(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/财务指标/{year}.csv\")\n",
" # ts_pro.fina_audit(period=f\"{year}1231\").to_csv(f\"../temp/财务报表/审计意见/{year}.csv\")"
],
"id": "b03b118c70b21315",
"outputs": [],
"execution_count": 15
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-01-09T06:21:41.656501Z",
"start_time": "2025-01-09T06:21:41.620154Z"
}
},
"cell_type": "code",
"source": [
"import pandas as pd\n",
"\n",
"df = pd.read_csv('../temp/财务报表/利润表/2000.csv')\n",
"# 移除第一列\n",
"df = df.iloc[:, 1:]\n",
"df.set_index('ts_code', inplace=True)\n",
"df = df[[\"total_revenue\", \"revenue\", \"total_cogs\",\"oper_exp\",\"rd_exp\"]]\n",
"df"
],
"id": "7e3783e99491ba52",
"outputs": [
{
"data": {
"text/plain": [
" total_revenue revenue total_cogs oper_exp rd_exp\n",
"ts_code \n",
"688183.SH 6.282300e+08 6.282300e+08 NaN NaN NaN\n",
"601939.SH 5.349400e+10 5.349400e+10 4.329800e+10 4.329800e+10 NaN\n",
"600074.SH 4.957749e+08 4.957749e+08 4.287281e+08 NaN NaN\n",
"600699.SH 2.276245e+08 2.276245e+08 1.765832e+08 NaN NaN\n",
"600779.SH 1.280558e+09 1.280558e+09 1.080933e+09 NaN NaN\n",
"... ... ... ... ... ...\n",
"600438.SH 3.533686e+08 3.533686e+08 3.194762e+08 NaN NaN\n",
"600493.SH 1.421895e+08 1.421895e+08 1.250877e+08 NaN NaN\n",
"600572.SH 1.944064e+08 1.944064e+08 1.459411e+08 NaN NaN\n",
"600986.SH 2.563444e+08 2.563444e+08 2.089118e+08 NaN NaN\n",
"600982.SH 8.646501e+07 8.646501e+07 6.824224e+07 NaN NaN\n",
"\n",
"[1264 rows x 5 columns]"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>total_revenue</th>\n",
" <th>revenue</th>\n",
" <th>total_cogs</th>\n",
" <th>oper_exp</th>\n",
" <th>rd_exp</th>\n",
" </tr>\n",
" <tr>\n",
" <th>ts_code</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>688183.SH</th>\n",
" <td>6.282300e+08</td>\n",
" <td>6.282300e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>601939.SH</th>\n",
" <td>5.349400e+10</td>\n",
" <td>5.349400e+10</td>\n",
" <td>4.329800e+10</td>\n",
" <td>4.329800e+10</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600074.SH</th>\n",
" <td>4.957749e+08</td>\n",
" <td>4.957749e+08</td>\n",
" <td>4.287281e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600699.SH</th>\n",
" <td>2.276245e+08</td>\n",
" <td>2.276245e+08</td>\n",
" <td>1.765832e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600779.SH</th>\n",
" <td>1.280558e+09</td>\n",
" <td>1.280558e+09</td>\n",
" <td>1.080933e+09</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600438.SH</th>\n",
" <td>3.533686e+08</td>\n",
" <td>3.533686e+08</td>\n",
" <td>3.194762e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600493.SH</th>\n",
" <td>1.421895e+08</td>\n",
" <td>1.421895e+08</td>\n",
" <td>1.250877e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600572.SH</th>\n",
" <td>1.944064e+08</td>\n",
" <td>1.944064e+08</td>\n",
" <td>1.459411e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600986.SH</th>\n",
" <td>2.563444e+08</td>\n",
" <td>2.563444e+08</td>\n",
" <td>2.089118e+08</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>600982.SH</th>\n",
" <td>8.646501e+07</td>\n",
" <td>8.646501e+07</td>\n",
" <td>6.824224e+07</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1264 rows × 5 columns</p>\n",
"</div>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 12
},
{
"metadata": {},
"cell_type": "code",
"outputs": [],
"execution_count": null,
"source": "",
"id": "575590399bf15e70"
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}

View File

@@ -6,8 +6,8 @@
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2024-12-27T08:52:13.762454Z",
"start_time": "2024-12-27T08:52:13.010563Z"
"end_time": "2025-01-09T05:00:21.760774Z",
"start_time": "2025-01-09T05:00:20.927280Z"
}
},
"source": [
@@ -17,7 +17,7 @@
"ts_pro = ts.pro_api(token=\"64ebff4fa679167600b905ee45dd88e76f3963c0ff39157f3f085f0e\")"
],
"outputs": [],
"execution_count": 1
"execution_count": 2
},
{
"metadata": {},
@@ -1358,6 +1358,239 @@
}
],
"execution_count": 6
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-01-09T05:00:24.994492Z",
"start_time": "2025-01-09T05:00:24.204010Z"
}
},
"cell_type": "code",
"source": [
"# 获取股票基本信息\n",
"ts_pro.stock_basic()"
],
"id": "9ae4b033636fbaad",
"outputs": [
{
"data": {
"text/plain": [
" ts_code symbol name area industry cnspell market list_date \\\n",
"0 000001.SZ 000001 平安银行 深圳 银行 payh 主板 19910403 \n",
"1 000002.SZ 000002 万科A 深圳 全国地产 wka 主板 19910129 \n",
"2 000004.SZ 000004 国华网安 深圳 软件服务 ghwa 主板 19910114 \n",
"3 000006.SZ 000006 深振业A 深圳 区域地产 szya 主板 19920427 \n",
"4 000007.SZ 000007 全新好 深圳 其他商业 qxh 主板 19920413 \n",
"... ... ... ... ... ... ... ... ... \n",
"5381 920111.BJ 920111 聚星科技 None None jxkj 北交所 20241111 \n",
"5382 920116.BJ 920116 星图测控 None None xtck 北交所 20250102 \n",
"5383 920118.BJ 920118 太湖远大 None None thyd 北交所 20240822 \n",
"5384 920128.BJ 920128 胜业电气 None None sydq 北交所 20241129 \n",
"5385 689009.SH 689009 九号公司-WD 北京 摩托车 jhgs 科创板 20201029 \n",
"\n",
" act_name act_ent_type \n",
"0 无实际控制人 无 \n",
"1 深圳市人民政府国有资产监督管理委员会 地方国企 \n",
"2 李映彤 民营企业 \n",
"3 深圳市人民政府国有资产监督管理委员会 地方国企 \n",
"4 王玩虹 民营企业 \n",
"... ... ... \n",
"5381 None None \n",
"5382 None None \n",
"5383 None None \n",
"5384 None None \n",
"5385 None None \n",
"\n",
"[5386 rows x 10 columns]"
],
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>ts_code</th>\n",
" <th>symbol</th>\n",
" <th>name</th>\n",
" <th>area</th>\n",
" <th>industry</th>\n",
" <th>cnspell</th>\n",
" <th>market</th>\n",
" <th>list_date</th>\n",
" <th>act_name</th>\n",
" <th>act_ent_type</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>000001.SZ</td>\n",
" <td>000001</td>\n",
" <td>平安银行</td>\n",
" <td>深圳</td>\n",
" <td>银行</td>\n",
" <td>payh</td>\n",
" <td>主板</td>\n",
" <td>19910403</td>\n",
" <td>无实际控制人</td>\n",
" <td>无</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>000002.SZ</td>\n",
" <td>000002</td>\n",
" <td>万科A</td>\n",
" <td>深圳</td>\n",
" <td>全国地产</td>\n",
" <td>wka</td>\n",
" <td>主板</td>\n",
" <td>19910129</td>\n",
" <td>深圳市人民政府国有资产监督管理委员会</td>\n",
" <td>地方国企</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>000004.SZ</td>\n",
" <td>000004</td>\n",
" <td>国华网安</td>\n",
" <td>深圳</td>\n",
" <td>软件服务</td>\n",
" <td>ghwa</td>\n",
" <td>主板</td>\n",
" <td>19910114</td>\n",
" <td>李映彤</td>\n",
" <td>民营企业</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>000006.SZ</td>\n",
" <td>000006</td>\n",
" <td>深振业A</td>\n",
" <td>深圳</td>\n",
" <td>区域地产</td>\n",
" <td>szya</td>\n",
" <td>主板</td>\n",
" <td>19920427</td>\n",
" <td>深圳市人民政府国有资产监督管理委员会</td>\n",
" <td>地方国企</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>000007.SZ</td>\n",
" <td>000007</td>\n",
" <td>全新好</td>\n",
" <td>深圳</td>\n",
" <td>其他商业</td>\n",
" <td>qxh</td>\n",
" <td>主板</td>\n",
" <td>19920413</td>\n",
" <td>王玩虹</td>\n",
" <td>民营企业</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5381</th>\n",
" <td>920111.BJ</td>\n",
" <td>920111</td>\n",
" <td>聚星科技</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>jxkj</td>\n",
" <td>北交所</td>\n",
" <td>20241111</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5382</th>\n",
" <td>920116.BJ</td>\n",
" <td>920116</td>\n",
" <td>星图测控</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>xtck</td>\n",
" <td>北交所</td>\n",
" <td>20250102</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5383</th>\n",
" <td>920118.BJ</td>\n",
" <td>920118</td>\n",
" <td>太湖远大</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>thyd</td>\n",
" <td>北交所</td>\n",
" <td>20240822</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5384</th>\n",
" <td>920128.BJ</td>\n",
" <td>920128</td>\n",
" <td>胜业电气</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" <td>sydq</td>\n",
" <td>北交所</td>\n",
" <td>20241129</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5385</th>\n",
" <td>689009.SH</td>\n",
" <td>689009</td>\n",
" <td>九号公司-WD</td>\n",
" <td>北京</td>\n",
" <td>摩托车</td>\n",
" <td>jhgs</td>\n",
" <td>科创板</td>\n",
" <td>20201029</td>\n",
" <td>None</td>\n",
" <td>None</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5386 rows × 10 columns</p>\n",
"</div>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 3
}
],
"metadata": {

1012
document/ETF信息.csv Normal file

File diff suppressed because it is too large Load Diff

8064
document/SZ000001.csv Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff