經研所會用到的程式語言 - 經濟

Linda avatar
By Linda
at 2008-12-05T05:23

Table of Contents

※ 引述《liton (歐吉桑留學生)》之銘言:
: 標題: Re: [請益] 經研所會用到的程式語言
: 時間: Fri Dec 5 02:58:26 2008
:
: : 1.程式語言
: : 基本上程式語言對資料的處理是一欄一欄(Cell)的處理
: : 就像你用Excel一樣 例如用A1 B3 算出D5
: : Matlab VBA C++等都是屬於這一掛的
: : 這一類的我比較推薦VBA
: : 這是最多人用的 不僅只要只要裝Excel就可以用 也是一些財工人員的必備技能
: :
: : 2.資料庫語言
: : 這一類的軟體是一筆一筆的處理資料(Row)
: : SAS Winrats都屬於這一類
: : → yuekun:老實說 你的觀念似乎....那個應該叫做矩陣 140.119.144.44 12/05
: : → yuekun:照你的分法 MATLAB GAUSS RATS應該算同類 140.119.144.44 12/05
: : → yuekun:一般程式語言變數都能到5維 VBA也行 相信我 140.119.144.44 12/05
: : → yuekun:MATLAB更應該分到第二類 因為MATLAB本來就 140.119.144.44 12/05
: : → yuekun:是矩陣語言(那個Mat的意思)只是它可以簡化 140.119.144.44 12/05
: : → yuekun:啦 大多用物件導向的概念就可以處裡掉 140.119.144.44 12/05
: : → yuekun:做的sample program不過我只敢在推文放啦 140.119.144.44 12/05
: : → yuekun:裡面有一些倒閉模擬器 股價模擬器 CDS模擬 140.119.144.44 12/05
: : → yuekun:器 看起來很威 不過用物件導向的方法來做 140.119.144.44 12/05
: : 推 yuekun:會快很多單純很多 SQL應該是一種query lang 140.119.144.44 12/05
: : → yuekun:uage 不過VBA我不熟 但我覺得他應該也有矩 140.119.144.44 12/05
: : → yuekun:陣語法 至於那個資料庫語言 應該有SQL的 140.119.144.44 12/05
: : → yuekun:例如webscript(PHP,ASP之類的) 或是有Query 140.119.144.44 12/05
: : → yuekun:功能的都有提供 只是回傳的時候是放在多維 140.119.144.44 12/05
: : 推 yuekun:當然矩陣語法(也就是你說的資料庫語言)其實 140.119.144.44 12/05
: : → yuekun:也是要解構成元素運算 只是它內部的演算法 140.119.144.44 12/05
: : → yuekun:比較有效率(?) 有些人說M語言似乎太慢 最後 140.119.144.44 12/05
: : → yuekun:都改到C 可能是有編譯 當然這是非常痛苦的 140.119.144.44 12/05
: : → yuekun:至於SAS SPSS 那應該是企研所用比較多吧 我 140.119.144.44 12/05
: : → yuekun:是摸過而已 不怎麼熟 一般STATA最好上手啦 140.119.144.44 12/05
:
: 資料庫的維度只有"一維" 所以根本不算矩陣

這裡存疑 資料庫我也摸過 通常最省事的寫法是Select * from AAA where BBB='CCC'

那個星號就會把所有東西傳回來 那個AAA甚至可以用關聯性資料庫合併出來

例如


AAA

key name score id class
1 AA 34 45678 A
2 B 56 45679 A
3 CC 89 45680 A
4 DD 10 55456 B
5 EE 56 55457 B
6 FF 34 44412 C
7 GG 37 44413 C



BBB

class address City
A F5, no4 Aaa City
B B1, no8 Bbb City
C F4, no7 Bbb City

CCC



Select * from AAA where score>50

就會傳一個Table回來 怎麼會是一維

甚至連BBB的資訊都可以一起關連進來 那又多一個維度

你可以選BBB下的條件 抓出AAA住在Bbb city的 但BBB根本看不到AAA table

所以多了一維 可以這樣無限關聯下去 怎麼會是一維


: 所以你說 我認為 矩陣語法(也就是你說的資料庫語言)<--對不起捏 我的看法剛好相反
: 就是因為Matlab是矩陣語言 所以才無法算是資料庫語言
MATLAB也可以Query呀 我是以你的邏輯分類 分成D=A+C可以跑的 和不能跑的

D = A + C 這個寫法是比較高等的 (應該說比較鬆散)

例如 R MATLAB GAUSS 之類的 這樣寫可以

如果是JAVA C (我剛實驗試了JAVA 確定不行IDE就把你擋下來了)

命令列錯誤:
The operator + is undefined for the argument type(s) double[],
double[] one.java test/src line 14 Java Problem


照理說 MATLAB不能跟C分在同一類 C還滿嚴格的

因為D=A+C matlab可以過 JAVA, C 不能過
SQL有語法可以實現D=A+C 但這是SQL的事情 和其他語言沒關
SAS可以 那他跟MATLAB就是同類

:
: SQL(ORACLE) SAS等資料庫語言 是沒有維度的觀念的
: 這些資料庫語言幾乎無法指定輸出第幾個row
: 只能指定輸出第幾個column的值如果符合啥條件才輸出
: 再這我再舉例說明一次何謂資料庫
: 例如
:
: 姓名 年齡 性別 居住地 學歷
: 甲 18 男 台北 大學
: 乙 29 女 高雄 碩士
:
: 資料庫語言的基本觀念是 我只能挑符合某些條件下的資料
: where 年齡 between(15,20)
: and 學歷 大於等於大學
: 這樣的條件下 甲這筆資料會輸出
:
: 這和矩陣語言法(row, column)是完全不同的觀念

如果你select "姓名", "年齡", "性別" from ATable where 學歷 > "大學"


那傳出來的東西就會長個這樣子

姓名 年齡 性別
甲 18 男
乙 29 女

他是一個二維陣列 不是矩陣語法

但是你說資料庫語言可以D=A+C也讓我百思不解 我從QB開始學程式的

Query可以直接這樣加的 SQL語法是有啦 其他語言 沒聽過 嚴謹一點 很少聽過

但是傳入矩陣的話 因為它是矩陣語法 那就能運算

照你的分法 MATLAB可以做D=A+C 但是卻放在程式語言 其實MATLAB離C反而比較遠

透過ODBC傳出來就是各種語言各自運用嘛 至少嚴謹一點的程式語言

不會允許D = A+C這種寫法
: ----
: 其實你也可以仔細注意一下
: 去Database的話 你會發現有寫SQL ORACLE Access的人
: 去Statistics的話 你會發現有人在SAS的議題中談到SQL
: 這些人會攪和在一起 但是幾乎不會和討論
:
: 和寫Matlab VBA的人
: 也比較少和做database的人攪和在一起
其實嚴格說來VBA不太算語言 所以MATLAB和VBA不能放在一起 (當然從某些角度是可以啦)

ORACLE Access 是軟體
VBA是Excel下面的Script 不算語言
Matlab算軟體 但是他可以編譯 堅持要說他是語言是勉強ok的
SQL是Query language 他是一種標準化 讓你不用換資料庫學一次Query language
(Query language不是語言 沒有其他語言query language無法存在)
SAS算是軟體
C++算是語言
JAVA算是語言
PERL也算是語言
XML算一種儲存容器 如果程式語言有refer library那就不需透過ORACLE或Access來存取






真正的結構應該是

database, data
┌┐┌┐ ┌┐┌┐
├┤├┤ ├┤├┤
└┘└┘ └┘└┘
│ │ │ │
┌────┐┌────┐
│ORACLE ││ ACCESS │
└────┘└────┘
│ │
┌───────────┐
│ODBC連結(或JDBC) │
└───────────┘

┌───────────┐
│SQL語法 │
└───────────┘

┌┬┬┬┼┬┬┬┐
1. JAVA C PERL
2. MATLAB R SAS GAUSS
3. VBA VBS JAVASCRIPT..............

這三種分類又不一樣 入手難度也差很多

通常而言1.的變數都要經過宣告 不然一定編不出來

把SQL和ORACLE放在一起 感覺有點怪怪的 簡單講 只要你會SQL

會哪套語言用順手就好 ORACLE應該都有提供連結方法

但以JAVA最大宗 因為他太好用了 很少套裝軟體沒提供JAVA支援的吧 連MATLAB都有

: 因為雖然可以處理相同的資料
: 但寫出來的與法官真的差太多了
:
我非常有實驗精神

將JAVA編譯一次看看有沒有辦法以你的方法

D=A+C 給他編過去 不過連編譯都沒辦法就被IDE抓出來了

所以我不太懂你D=A+C的意思

一般來說SQL傳出來的東西仍然是陣列或是一種雜湊陣列

如果是關聯式資料庫每個欄位還會自己refer 例如男-甲,男-乙....不是一維的

陣列不等於矩陣 矩陣可以運算 陣列不能運算 要自己寫回圈運算

所以D = A + C 就我的觀點 他是矩陣

例如A = [1 1 1]' C = [1 2 3]' 那D = [2 3 4]'

可是陣列要寫: (而且還要檢查)

if(A.length==C.length&&A.length==D.length){
for(int i=0;i<D.length;i++){
D[i] = A[i] + C[i];
}
}






: --
: 其實..SAS用最多的..不是XX研究所的學生
: 而是商業用途
拍謝 我沒用SAS 所以我一直以為這是企研所在用的
: 可能是某某銀行的資料分析 某某電子廠的品質監控
:
: 因為這邊大部分人看到的SAS 只是SAS BASE
: 事實上SAS真正強的 不是他的統計功能 而是它資料庫的功能
: 一套SAS Base可能幾十萬
: 但是..SAS的資料庫...上千萬
: 但是這邊的人幾乎都是非商業用途
: 所以就很難看到SAS強大的地方
:
:
: --
Tags: 經濟

All Comments

Odelette avatar
By Odelette
at 2008-12-06T09:36
D=A+C要過你要override等號和加號兩個運算子
"能不能"和"好不好做"不要搞混比較好
Sarah avatar
By Sarah
at 2008-12-11T05:56
matlab是把基本變數單位提到支援向量變數
在概念上是可以把你的JAVA惡搞後也變一樣的
Elvira avatar
By Elvira
at 2008-12-14T12:45
就像從C有可能往上做出像JAVA一樣的物件導向
Poppy avatar
By Poppy
at 2008-12-19T02:23
但並不影響matlab本身作為"程式語言"的身份
(這裡指的是程式語言matlab,不是套裝軟體)
Una avatar
By Una
at 2008-12-22T00:41
override掉理論上的確是有辦法 但我也只能
Hamiltion avatar
By Hamiltion
at 2008-12-24T11:22
說實話 我沒看過加號被override 我沒寫過
Olivia avatar
By Olivia
at 2008-12-25T19:41
如果你有code我可以跟您跪求這個寫法的key
Agatha avatar
By Agatha
at 2008-12-29T08:22
能把加號override那也真的是讓我很surprise
我是真的不知道JAVA活到這種境界(感到可怕)
Aaliyah avatar
By Aaliyah
at 2009-01-01T04:57
在C/C++ 很常見吧, in java, String+String
就是一種運算子重載啊
Edith avatar
By Edith
at 2009-01-01T09:06
剛翻了一下書 應該是把兩個陣列給他加載進
去 要去哪裡找 System下面嗎
Wallis avatar
By Wallis
at 2009-01-05T07:39
喔我真的是學到了 這是我的盲點 不過從本質
上來說JAVA C和Matlab 還是差很多吧
Quintina avatar
By Quintina
at 2009-01-05T13:24
能夠直接寫"+", 底層也是有人幫你實作過
沒實作, 就自己造輪子吧, matlab也是會檢查
兩個矩陣維度相同才讓你加起來不是嗎?
Frederic avatar
By Frederic
at 2009-01-07T08:03
沒想到平常用到濫的語法 我都忘記了
Quintina avatar
By Quintina
at 2009-01-10T07:05
ㄟ我真的遇到高手了 (還是我SCJP忘光了XD)
Frederic avatar
By Frederic
at 2009-01-14T09:48
應該是有辦法從lang裡面加載陣列的加法進去
Steve avatar
By Steve
at 2009-01-18T07:54
ㄟ我沒空跟您聊了 再見
Yuri avatar
By Yuri
at 2009-01-19T16:39
答案是沒有, String 是特例XD
Selena avatar
By Selena
at 2009-01-24T03:32
不過可以參考java.util.Arrays, 寫一個自己的
Oliver avatar
By Oliver
at 2009-01-27T02:36
............#$%#% 我真的去翻API耶.......
Vanessa avatar
By Vanessa
at 2009-01-30T05:10
各種型別的陣列加法吧, (跑來去用matlab)
Quanna avatar
By Quanna
at 2009-02-03T02:56
自己弄一個tool的class應該是ok啦 我以為高
段到直接override 加號 我還以為API裡面有

經研所會用到的程式語言

Candice avatar
By Candice
at 2008-12-05T02:58
: 1.程式語言 : 基本上程式語言對資料的處理是一欄一欄(Cell)的處理 : 就像你用Excel一樣 例如用A1 B3 算出D5 : Matlab VBA C++等都是屬於這一掛的 : 這一類的我比較推薦VBA : 這是最多人用的 不僅只要只要裝Excel就可以用 也是一些財工人員的必備技能 : : ...

用簡單的白話,說明:什麼是次貸危機

Lily avatar
By Lily
at 2008-12-05T01:43
用簡單的白話,說明:什麼是次貸危機 ( 這是一位財經朋友轉寄給我的,寫的很白話,淺顯易懂,分享給大家 ) http://tinyurl.com/5zekuw - ...

經研所會用到的程式語言

Kumar avatar
By Kumar
at 2008-12-05T00:26
※ 引述《liton (歐吉桑留學生)》之銘言: : ※ 引述《maykizuki (平淡的愛,是一種奢侈)》之銘言: : : 標題: [請益] 經研所會用到的程式語言 : : 小弟剛推上經研所 : : 趁著空閒想學習一下程式語言的部份 : : 因此想請教各位先進 經研所可能會用到什麼程式語言嗎atat? ...

經研所會用到的程式語言

Kristin avatar
By Kristin
at 2008-12-04T23:53
※ 引述《maykizuki (平淡的愛,是一種奢侈)》之銘言: : 標題: [請益] 經研所會用到的程式語言 : : 小弟剛推上經研所 : 趁著空閒想學習一下程式語言的部份 : 因此想請教各位先進 經研所可能會用到什麼程式語言嗎atat? : 譬如說跑計量等.....atat : 我有學過matlab和c ...

央行操作目標變數

Anthony avatar
By Anthony
at 2008-12-04T16:42
來源: 97年土銀 科目:貨銀 問題:央行的操作目標變數中,下列何者不包括在內? (A)準備金 (B)貨幣基數 (C)M1a (D)拆款利率 答案為(C)M1a 我的想法:M1a包括通貨淨額 支存 活存 這些都會因為貨幣供給量的變動而改變 ...