【Python程式交易DIY14】使用群益API進行 (2)查價
問題出在:
●FB https://www.facebook.com/groups/248705245950294 ●YT https://www.youtube.com/channel/UCTcXwTLJM62hYzCAQ6fA5tg ●FB粉絲團: https://m.facebook.com/00bnf/ ●東京交易故事(電子書/影音): 東京交易故事1-BNF交易手法解說1 東京交易故事2-BNF交易手法解說2 東京交易故事3-BNF交易手法解說3 東京交易故事4-日本股神CIS-1 東京交易故事5-日本股神CIS-6 東京交易故事6-BNF自己流1-3 東京交易故事7-秒速億元男的哲學1 東京交易故事8-秒速億元男的交易手法和BNF的交易哲學 東京交易故事9-TW自己流1 東京交易故事10-秒速億元男的交易手法2 東京交易故事11-TW自己流2(選擇權的波動交易策略) 東京交易故事12-TW自己流3(綜合實戰策略: 選擇權+現貨對沖) 合図【あいず】信號,暗號 #cis #股神 #BNF #逆勢接刀 #短線交易 #日本股神bnf研究會
【Python程式交易DIY14】使用群益API進行 (2)查價
TXO17500H3: 8月call,
TXO16500T3: 8月put,
1-6月call: A-F
7-12月call: G-L
1-6月put: M-R
7-12月put: S-X
所以目前8月call為H.. 9月call為I,
8月put為N, 9月put為O
https://blog.futures-ai.com/contract-code/
markdown
只要 3 個擴充套件,讓 VS Code 變成專業 Markdown 文件編輯器
Markdown All in One 是增強 VS Code 的 Markdown 編輯能力的主要擴充套件,它提供了更多的自動化功能,例如:反白文字 Ctrl + V 貼上超連結自動完成語法、清單元素中 Enter 自動接續縮排、數學公式等實用功能,本文不一一介紹,有興趣者可參考 Markdown All in One – Visual Studio Marketplace 的說明內容。
Markdown PDF 顧名思義是提供了 Markdown 文件輸出 PDF 的功能,除了能輸出 PDF 檔案外,它還另外提供了 HTML、PNG 與 JPEG 的輸出格式。
本文档中安装步骤适用的Windows系统包括:
其他版本的Windows系统安装时可能遇到各种依赖库问题,不推荐使用。
在Windows系统上安装VeighNa,推荐使用官方推出的【VeighNa Studio Python发行版】,尤其是初次接触Python的编程新手。
作为一站式的量化投研交易Python环境,VeighNa Studio整合了:
对于已经有比较丰富的编程经验或者需要用到特定Python发行版(如Anaconda)的用户,也可以采用手动安装的方案。
在VeighNa官网可以下载VeighNa Studio安装包。
下载完成后,双击安装包进入VeighNa Studio安装向导(推荐点击右键,选择【使用管理员身份运行】进行安装),使用默认设置点击【快速安装】按钮即可进行VeighNa Studio安装,如下图所示:
推荐将VeighNa Studio安装在默认路径的C:\veighna_studio,其他VeighNa文档和教程中均使用该目录作为VeighNa安装目录进行讲解。
如果想进行个性化安装,可点击【自定义安装】进入高级选项页面,如下图所示:
安装完成后,会转换到安装成功页面,如下图所示:
此时桌面会出现VeighNa Station的图标,双击图标即可运行VeighNa Station。
安装成功后,启动命令行工具即可直接使用VeighNa Studio Python发行版。
输入python即可进入python的交互式环境,如下图所示:
此时在命令行中输入python代码就会立即执行。如果想运行pyqtgraph的自带的例子,可以依次输入以下代码:
from pyqtgraph import examples
examples.run()
此时则会弹出Examples的运行窗口,如下图所示:
点击左侧的Basic Plotting则会弹出示例的图形界面,如下图所示:
如果想打开jupyter lab进行投资研究工作,可以打开cmd,输入jupyter lab,即可成功启动,如下图所示:
如果安装之后,想要添加或者移除某项功能,可以双击VeighNa Studio的安装包,进入VeighNa Studio安装界面,如下图所示:
点击【修改】,进入修改页面,如下图所示:
选择完可选功能后,点击【下一步】,进入高级选项页面,如下图所示:
选择完毕,即可重新安装。
如果安装之后,出现安装不完整或者其他需要修复的情况,可以双击VeighNa Studio的安装包,进入VeighNa Studio安装界面,如下图所示:
点击【修复】,进入修复界面,如下图所示:
修复完成后,会转换到修复成功页面,如下图所示:
如果想卸载VeighNa Studio, 可以双击VeighNa Studio的安装包,进入VeighNa Studio安装界面,如下图所示:
点击【卸载】,进入卸载界面,如下图所示:
卸载完成后,会转换到卸载成功页面,如下图所示:
首先请在电脑上准备好Python 3.10 64位环境(注意必须是64位版本),推荐使用Python官网的发行版,也可以使用Anaconda、Miniconda、Canopy等发行版。
这里我们以Python官网的发行版为例,首先在Python官网下载安装文件,选择【Windows installer (64-bit)】,如下图所示:
下载完毕后,双击文件进入Python安装向导,勾选【Add Python3.10 to PATH】选项后,点击【Install Now】进行安装,推荐使用默认设置一路点击【下一步】直到安装完成即可:
下载VeighNa源代码(Windows系统请选择zip格式):
下载完成后解压,然后启动命令行工具(CMD或者PowerShell),进入源代码所在的目录后(即install.bat文件所在的目录),输入下列命令运行脚本执行一键安装:
install.bat
一键安装过程整体分为3步:
如果某一步安装过程中发生错误,请截取保存命令行中的报错信息(注意优先保存底部的报错内容),前往VeighNa社区论坛发帖提问寻求帮助。
启动命令行工具,进入解压VeighNa源代码的目录下,在文件夹examples/veighna_trader中找到run.py文件。
输入如下命令即可启动VeighNa Trader:
python run.py
请注意run.py中包含了较多的启动加载项(交易接口和应用模块),请根据自己所用的操作系统以及实际的交易需求修改调整使用(若需加载接口,取消接口前注释符号即可)。
连接接口介绍详见交易接口篇。
如果启动时出现一些库版本不兼容的情况,可根据提示对这些库重新pip安装。
pandas內之商品報價更新 (Line 530)
##查询上证指数收盘<3000点的,且成交额少于1000亿(amount单位为千元)的日子,显示全部的列
df.loc[(df['close'] < 3000) & (df['amount'] < 100000000),:]
https://zhuanlan.zhihu.com/p/138037895
import pandas as pd
import numpy as np
np.random.seed(0)
df = pd.DataFrame(np.random.randint(1,20,size=(20, 4)), columns=list('ABCD'))
print (df.index[df['B'] == 19].tolist())
print (df.index[(df['Name'] == 'blue')].tolist())
print ('\n')
print (df.loc[df['Name'] == 'blue'])
print ('\n')
print (df.loc[(df['Name'] == 'charlie') & (df['Type'] =='Raptors')])
https://www.delftstack.com/zh-tw/howto/python-pandas/pandas-get-index-of-row/
https://blog.csdn.net/weixin_43977640/article/details/109909787
x=df_RepStock.index[df_RepStock['id']=='TXO17100H3'].to_list()
File "d:\tw-skcom-python-43\all\.venv\lib\site-packages\pandas\core\frame.py", line 3805, in __getitem__
indexer = self.columns.get_loc(key)
File "d:\tw-skcom-python-43\all\.venv\lib\site-packages\pandas\core\indexes\base.py", line 3802, in get_loc
raise KeyError(key) from err
KeyError: 'id'
成功解決問題
https://blog.csdn.net/RPG_Zero/article/details/109190053
5.更改某商品在DataFrame中的值:df=df.set_index('id')df.loc['id','close']=value
如何取出df中之close?
Debug Console:
df.loc["TXO17100H3","close"]
'170.0'
成功..
成功..
結論:
1. 用dict建dataframe時, 要設index
df = pd.DataFrame(dictRepStock, index=[0])
2. 於pandas加一筆data要用concat,
df_RepStock = pd.concat([df_RepStock, df], axis=0)
1.檢查接收到的商品報價之資料型態: 結果為Tuple
2. tuple要先轉成list
ref: Pandas常見基本操作:
# import pandas library as pd import pandas as pd df = pd.DataFrame() print (df) |
3. 客製化Pandas DataFrame的資料索引及欄位名稱,可以分別利用index及columns屬性(Attribute)來達成,如下範例:
- import pandas as pd
- grades = {
- "name": ["Mike", "Sherry", "Cindy", "John"],
- "math": [80, 75, 93, 86],
- "chinese": [63, 90, 85, 70]
- }
- df = pd.DataFrame(grades)
- df.index = ["s1", "s2", "s3", "s4"] #自訂索引值
- df.columns = ["student_name", "math_score", "chinese_score"] #自訂欄位名稱
- print(df)
利用Pandas DataFrame的at[]及iat[]取得所要修改的單一值後,來進行資料內容的修改,如下範例:
- import pandas as pd
- grades = {
- "name": ["Mike", "Sherry", "Cindy", "John"],
- "math": [80, 75, 93, 86],
- "chinese": [63, 90, 85, 70]
- }
- df = pd.DataFrame(grades)
- print("原來的df")
- print(df)
- print("=================================")
- df.at[1, "math"] = 100 #修改索引值為1的math欄位資料
- df.iat[1, 0] = "Larry" #修改索引值為1的第一個欄位資料
- print("修改後的df")
- print(df)
[]
運算子方法新增新列df.insert()
方法可新增新列df.assign()
方法可新增新列df.loc()
方法新增新列import pandas as pd
data = [
['Ali',
'Azmat',
'30'],
['Sharukh',
'Khan',
'40'],
['Linus',
'Torvalds',
'70']
]
df = pd.DataFrame(data,columns=['First','Last','Age'])
print(df)
輸出:
First Last Age
0 Ali Azmat 30
1 Sharukh Khan 40
2 Linus Torvalds 70
df = df.assign(city = ['Lahore','Dehli','New York'], score = [20,30,40])
df.loc[:,'city'] = ['Lahore','Dehli','New York']
df.insert(3,"city",['Lahore','Dehli','New York'],True)
city = ['Lahore','Dehli','New York']
df['city'] = city
test test1 Written with StackEdit .