發表文章

電子試算表發明人

圖片
  1978年,哈佛大學EMBA學生在教室中發明電子試算表(electronic spreadsheet),這個發明永遠改變人們利用電腦在商業應用的方式(forever changed how people use computers in business.)。後來,賈伯斯請比爾蓋茲為蘋果電腦開發相同軟體,稱為EXCEL,比爾蓋茲要求EXCEL也可以賣到其他平台,最後導致Mac電腦與IBM相容電腦並存。

葉嘉任 python輸入openpyxl處理EXCEL檔案

圖片
  from openpyxl import load_workbook #葉嘉任指導蕭穎婕等學生專題 book = load_workbook(filename='wb.xlsx') print(book.sheetnames) #列出所有工作表 """以下也被註解暫時不執行python語言註解 #後面不執行 前後三個引號的部分也不執行 都是註解用 sheet = book['20200101p'] #工作表 rowBegin = 4 #起始列 rowEnd = 10 #結束列780 criticalInc = 0.01 criticalDes = 0.01 localH = sheet.cell(row=rowBegin, column=3).value localL = sheet.cell(row=rowBegin, column=4).value status = 0 wealth = 0 for x, row in enumerate(sheet.iter_rows(min_row = rowBegin, max_row = rowEnd)): rowNo = x + rowBegin #串列編號 x 起始於 0 dayH = row[2].value #當日最高C欄 dayL = row[3].value #當日最低D欄 dayC = row[4].value #當日收盤E欄 if status == -1: #檢測波段高 localH = dayH elif localH < dayH: localH = dayH if status == 1: #檢測波段低 localL = dayL elif localL > dayL: localL = dayL sheet.cell(row = rowNo, column = 6).value =...

葉嘉任 XCEL運算列表grid search獲得最佳參數

圖片
  葉嘉任 運算列表 A784放置目標函數 漲幅最大 =MATCH(GA784,B784:FY784,0) match index =INDEX($B$783:$FY$783,GB784) 最大 最大的位置match找到 11205.56 73 7.3% 下跌突破點 77 7.7% 上漲突破點 心得 grid search網格搜尋,數值方法,利用EXCEL運算列表,列變數放置不同的跌突破點,欄變數放置不同的漲突破點。測試從0.1%到18%。下次說明算得的參數是否有意義?沒有意義!沒有意義的程式交易演算法不可靠,不過是形成交易紀律的參考。

葉嘉任python迴圈range

圖片
  w3schools學習python w3schools學習python程式碼 #註解劉任昌程式交易python迴圈相當於EXCEL一列 #相當於JavaScript的// for i in range(20,10,-2): print("第" + str(i) + "列") #整數i要和字串相+連,先轉乘字串string指令str 複習EXCEL都會對應到python指令 Max Min Match Index 目標搜尋,學找最佳會參數 運算列表,判斷參數是否可靠、是否一致 使用修飾的CSS指令前後要加style與/style h1 {background-color: purple;color: white; text-align: center; padding: 10px; border: yellow 20px solid; border-radius: 30px;} h2{ border: green 10px solid; border-radius: 20px;text-align: center;} pre {font-family: verdana; font-size: 20px; border: solid 2px blue; line-height: 1.5} 教學影片 013 014

葉嘉任python視窗使用者介面GUI類別class建構正多邊形或星形

圖片
  #劉任昌教python設窗程式設計 from tkinter import * #從函式庫 tkinter 輸入所有 * 方法 from math import * #從函式庫 math 輸入所有 * 方法 class Regular: #定義類別Regular正多邊形或星型 def __init__(self, cx, cy, cr, s, t, c, w): #類別共同的設定 self.cx, self.cy, self.cr = cx, cy, cr #取得中心座標cx, cy, 半徑cr self.s, self.t = s, t #取得邊角數目s,t尖銳程度,取代原來的k = s.get() self.c, self.w = c, w #取得顏色c,寬度w self.u = 2 * pi / self.s #使用模組 math 圓周率 pi self.x, self.y = [], [] for i in range( int(self.s * 1.5)): self.x.append(self.cx + self.cr*cos(i*self.u)) self.y.append(self.cy + self.cr*sin(i*self.u)) def draw(self): #類別的方法 for i in range( int(self.s * 1.5) - self.t): canvas.create_line(self.x[i], self.y[i], self.x[i + self.t], self.y[i + self.t], fill = self.c, width = self.w) def show(): #畫圖 poly = Regular(cx.get(), cy.get(), cr.get(), s.get(), t.get(), c.get(), w.get(...

葉嘉任python math random

圖片
  w3schools學習python math random函式庫 import math #劉任昌 輸入數學函式庫 import random #輸入亂數資料庫 x = math.sqrt(2) print(x) #大樂透是49個號碼開出六個 for i in range(6): x = random.randint(1,49) print("開出的第 " + str(i+1) + " 個號碼: " + str(x)) #str是將數字轉成字串string w3schools學習python math random截圖 亂數函數主要用在蒙地卡羅模擬分析,用於衍生性金融商品的訂價。 貪吃蛇的python程式 影片     Bro Code程式碼 https://www.youtube.com/watch?v=bfRwxS5d0SI # 劉任昌2023年5月12日修改自Bro Code YT影片 from tkinter import *#輸入tkinter繪圖程式庫 import random #輸入亂數程式庫 GAME_WIDTH = 1000 GAME_HEIGHT = 600 SPEED = 300 SPACE_SIZE = 50 BODY_PARTS = 3 #蛇長度 SNAKE_COLOR = "yellow" #蛇顏色green FOOD_COLOR = "white" #雞蛋顏色白色 BACKGROUND_COLOR = "#000000"#背景黑色 class Snake: #定義類別Snake def __init__(self): self.body_size = BODY_PARTS #蛇長度 self.coordinates = [] self.squares = [] for i in range(0, BODY_PARTS): self.coordinates.append([0, 0]) for x, y in self...

葉嘉任python import openpyxl 處理EXCEL

圖片
  import openpyxl #劉任昌輸入import openpyxl處理EXCEL的函式庫 book = openpyxl.load_workbook(r'wb.xlsx') #開啟EXCEL工作簿wb.xlsx print("1. 列出所有工作表名稱") sheetNames=book.sheetnames #所有工作表的集合 for name in sheetNames: print(name) print("2. 針對特定工作表, 列出前面數列") #sheet = book["python"] #for row in sheet.iter_rows(min_row=1, max_row=3, min_col=1, max_col=5, values_only=True): # print(row) print("3. 列出工作表所有內容") #sheet["F1"], sheet["G1"], sheet["H1"], sheet["I1"]="波段H","波段L","部位","損益" #sheet["F2"], sheet["G2"], sheet["H2"], sheet["I2"]=sheet["C2"].value, sheet["D2"].value, 0, 0 #for row in sheet.iter_rows(min_row=1, max_row=3, min_col=1, max_col=9, values_only=True): # print(row) #book.save() from tkinter import * import pygame root = Tk() root.title("葉嘉任") root.geometry("500x400"...