2020年7月11日星期六

Setup Qemu aarch64 emulation board

This is a note to drop down those steps involving to setup Qemu environment for Aarch64 emulation. We are performing the tasks on Ubuntu 18.04.1:

(base) user@user-RF511-RF411-RF711:~$ uname -a
Linux user-RF511-RF411-RF711 5.3.0-61-generic #55~18.04.1-Ubuntu SMP Mon Jun 22 16:40:20 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

1.) install Qemu
a.) apt-get install qemu
- find out the command location 
b.)  which qemu-system-aarch64
/usr/local/bin/qemu-system-aarch64

2.) download linux kernel source & decompress (from:https://www.kernel.org/)
a.) wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.7.8.tar.xz
b.) tar -xz linux-5.7.8.tar.xz

3.) install aarch64-linux-gnu-gcc
a.) sudo apt-get install gcc-aarch64-linux-gnu

4.) compile kernel as arm64 aarch64
a.) make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig
b.) make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- Image -j8
the image is located @ "./arch/arm64/boot/Image"

5.) download BusyBox : for making a minimal bundle of basic linux applications (i.e. applets) in a single binary. (https://busybox.net/downloads/BusyBox.html)
a.) wget https://busybox.net/downloads/busybox-1.32.0.tar.bz2
b.) tar -jxvf busybox-1.32.0.tar.bz2

6.) configure/install cross compiler toolchain & build statis busybox binary
a.) cd busybox-1.32.0
b.) make menuconfig
---- change the followings in "Settings" ----
- - Settings
[*] Build static binary (no shared libs)
(aarch64-linux-gnu-) Cross compiler prefix
c.) make
d.) make install

7.) use file system to create console
cd _install
mkdir dev
cd dev
sudo mknod console c 5 1
sudo mknod null c 1 3 

8.) compress and patch a filesystem file
find . | cpio -o -H newc |gzip > ../rootfs.cpio.gz



9.) create qemu.sh bash script for env. startup
$ cat qemu.sh
qemu-system-aarch64 \
        -machine virt,virtualization=true,gic-version=3 \
        -nographic \
        -m size=1024M \
        -cpu cortex-a57 \
        -smp 2 \
        -kernel Image \
        -initrd rootfs.cpio.gz \
        --append "console=ttyAMA0 rdinit=/linuxrc"
10.) put Image, rootfs.cpio.gz, qemu.sh in the same folder
11.) RUN QEMU
sh qemu.sh

DADA!!! FINISH!!



2019年9月22日星期日

20190923 HSI FUTURE


預計向下, 如穿26385下望斜線25820
但9月權26000大棍, 可守至結算
另外,由4月中高位30250~5浪下跌可見23500~23200
如3浪2018年頭算,熊3底可見21000,worse case!!

2019年9月20日星期五

BTXE 2019 的啟示!!


大戶畫圖,凡人窮一生鑽研,也只得虛無。

話說BT sir 6月時再現discuss, 出了幅圖, 
1. 黃線 ~28420
2. 紅框 ~28100~28300
3. 黃框 ~27200~27400

今天 20190920, 6月的黃框阻力仍然有效!!!
HSI FUTURE 一周大成交量
20190920 - no significance > ~2000
20190919 - 09:36 26649 ~ 26712 @ vol 2704 

20190918 - no significance > ~2000
20190917 -
a.) 10:26 26915 ~ 26959 @ vol 2185
b.) 13:25 26713 ~ 26755 @ vol 2025
c.) 13:29 26675 bottom @ vol 1823

20190916 10:00 27030~27134 @ vol 3021

20190913 15:28 27336~27385 @ vol 1693



2019年7月1日星期一

編程趣題

2008年5月17日星期六

編程趣題

不計"開blog了"的文章,最多回應便是有c語言的那一篇, 哈哈,
再來說清楚一下吧,

int a[10]; //a is an array of ten integer
int* b[10];//b is an array of ten integer pointer
int (*c)[10];//c is a pointer to an array of the integer
int (*(*d)(char))[]; //What is d ?

先開估︰
d is a pointer to a function which take a char argument and returning a pointer to an array of integer.

長長的答案,應該沒有錯吧?請各位親見下手寫幾行code去証實一下我的答案!
親自發掘答案你將獲益良多!
不過如果反應熱烈,我也會寫幾行code出來說明一下當中拆解的logic。
可是自己的功力尚淺, 只是藉著多點討論,交流,自己也可以進步一下!如果大家有什麼趣題,
觀迎post出來大家一起研究!

好..再來一題....
q2. write a function to calculate the number of bit '0' in the argument
for example,
input =0xFFF0, it should return 4
input =0xFF00, it should return 8

I welcome all kind of language, c/c++, java, asm...etc...

2015年7月10日星期五

對沖人生:如何令蟹貨復活

對沖人生:如何令蟹貨復活

23,669

64
■投資世界,投資者最重要的是心態,這就是境界。 資料圖片
當你絞盡腦汁,想了解如何避開排山倒海的中港上落市(當然也是政治市),美國紐交所在周三早上11點半停止運作,理由是技術問題。一個影響深遠的問題,就是取消落order的能力,也有傳言指交易系統受到網絡攻擊。黑客從哪裏來?

紐交所難抵壓測

一、神經刀Jim Cramer是CNBC國際財經頻道最受歡迎節目主持人之一;由全職做基金到大約千禧年時候金盆洗手,轉做百萬美金年薪的金融評論員,在全世界也有一定的粉絲。Jim七情上面,說到今次「技術問題」確實可疑,是否有系統性的攻擊,實在難以估計。我認為,若交易所自認網絡受到攻擊因而停市近四小時,這個紐交所真的過不了壓力測試。
另一邊當然也要談到內地瘋狂股市。內地造假情況嚴重,因在沙堆上建造房子容易散;數月前的大行情實在離譜,內地不同媒體不斷唱好股市,這就是他們的「投資者教育」,恐怖程度難以形容。美國人在上世紀末科網股爆破得到了沉重教訓,今次內地A股大清洗,只要有接觸股票,大部份人也輸錢。話雖如此,程式操控的買賣盤,很多時就在這動盪市場下注,當然有賺有蝕,只要賺的投資部位相對較多,最終便可在這交易日、星期、月份達到潛在絕對回報。

二、固定波幅策略,即我們所說的collar strategy,是在當下調波幅還未開始時,就已建立好投資部位。首先,護盤的原則就是不想不斷的殺入進出做in and out,不斷的交易也不化算。最有效的方法,再次溫故知新,就是建立投資部位後,如預計股市會有調整,就可以在正股做價以上沽出認購期權(sell call),利用得到的期權金(option premium)為一個低於正股的行使價購入認沽期權(buy put);如果正股升,小量的升幅依然對你有利,股市暴跌時,那一個put就是最好的護盤策略。有人問,芝加哥波幅指數VIX期指是否正股對沖常用衍生工具。答案是,在專業投資者的領域,芝加哥波幅期指在過去數年十分受落。7月尾假如你路經美國芝加哥,我也極力推薦你去上堂,了解波幅期指的理論與實踐,VIX每一「大點」升跌代表1,000美元。

死股要狠心止蝕

把話題延伸。股市反覆,也會影響樓市,撻定潮慢慢也會呈現。現在的財富效應也開始反映,本年第三季絕對是有着無限的挑戰。你可能會問我,芝加哥波幅指數VIX已經飆升到19,會否繼續向上,即迎接股市大冧?Long VIX作正股對沖,是可行的策略;但當無貨(股票)在手,齋做長long VIX或短波幅short VIX(波幅收窄,某程度上代表股市會飆升)就是要考眼光,順勢而行。

三、北美、歐洲、亞洲問題一環扣一環,很多時並非「走得快好世界」咁簡單。想好策略以外,也要明白到若你真的坐艇,也有最後一招,令優質股票加速復活。這策略我們叫它CPR(current portfolio repair)。股票下跌時優質股可能跌30%至50%。做法就是sell call,故認購期權,你用取回的溢價(premium),去買一對debit bull call spread(牛市認購跨界買賣策略),令到已下跌的股票可以加速復活。機構投資者很多時善用這招,這也是期權配合主力股的精妙之處。在此緊記,優質股才可以有潛在機會再攀升,「死股」的做法,很多時就是要冷血地「止血」,並非(1)再增持沖淡買入價格或(2)買正股齋sell call希望增加收入。更進取方式就是做CPR!
萬事都有定時,沽有時,揸有時;完全離場也有時,如果股票投資太沉重,你又有消極情緒,就不要把操作的事情支配你的思潮。心態,就是境界!

錢志健
資深對沖基金經理