美股投资小记

今年国内CPI狂升,好几个月CPI超过5%,虽然近期有所回落,但是也是4%+的水平。钱放在那里缩水,那还不如找点生钱的门路。炒房?没那个本钱,那只能炒股了。最近比较火的新闻大概就是:中国股市:十年零涨幅。加上国内股市基本上都是内幕交易,不认识人,没法玩。只能看看美股。

第一步:选择券商

我比较懒,只比较了2家券商,都是有中文服务的。一家是Firstrade,另一家是sogotrade。其实大家主要关心的还是价格。Firstrade最近是开户就有90天免费交易,之后每笔交易收费是6.95刀。SogoTrade是新开户前100次交易免费,之后每笔3刀。我开户的时候Firstrade还没有免费90天的活动,那时候好像是免费300次,但是对比了7刀和3刀的交易费,我最后还是选择了SogoTrade。别小看这交易费,每笔3刀,你买进收3刀,差不多20RBM,卖出也是要收这个钱。至于最低金额的限制,Firstrade是没有限制的,SogoTrade最低初始存进去要500刀以上。

第二步:开户

由于我选择了SogoTrade,下面就讲一下在SogoTrade开户的过程吧。首先是注册:可以通过这个地址注册 – https://www.sogotrade.com/s1/NewAccountSetup/Step1.aspx?rf=598726(这是我的推荐地址,意思就是通过这个地址注册,我能得到25次免费交易的奖励)在这边表的下方是可以选择用中文提示的,但是记住,所有需要填的地方都要用英文。名字用拼音,如果你有护照,就按照护照上面的拼音来就可以了。

刚才那个链接只是注册的第一部分,后面还有继续填一些东西,都没有什么难的地方。就是账号类型选择Margin就可以了。当所有东西都填好以后,你会收到一封邮件,标题是:SogoTrade帐户申请接收‏。这时候你要在邮件的N个链接里面选择一个合适的PDF文件,打印,填表,寄过去。但是一般人可能被下面那10几个链接搞晕。没关系,你只要发邮件(可以直接写中文的)给newaccounts@sogotrade.com这个邮箱,他们的客服代表就会根据你的账号类型,给你发一个合适你的PDF文件。他们要很多表,其中大部分表都是可以扫描发送过去给他们的,只有W-8BEN是需要原件寄过去美国的,其他所有表都是打印出来,填好,然后给他们发邮件就好了。中间插一句,一般人都没有扫描仪,其实现在很多手机应用都有这个功能的,推荐一个叫CamScanner的软件,iPhoneAndroid上都有免费版。

关于邮寄W-8BEN表,我当时用的是平邮,花了9块钱。网上很多人都是用EMS或者挂号信,花了100多,这个就见仁见智了。

第三步:汇款

等SogoTrade收到你所有的材料以后,就会给你分配一个账号,之前是纯数字的,最近经过升级,变成了数字和英文混合的。去银行,中行或者光大,填电汇单子,其实所有信息在SogoTrade网站上都会提供的,最关键的就是把自己的SogoTrade上注册的真名和账户号码写到“汇款留言(Remittance Information)”里面。通常3天之后,你登陆自己的账号就能看到钱已经到账了。关于手续费,虽然你在中国的银行办理业务的时候已经交过钱了,但是美国的银行依然会收另一笔手续费。。。这就是美帝。。。大概是20刀。如果你一次汇入超过25000刀,SogoTrade会给让你申请报销汇款产生的手续费:)

第四步:交易

美股交易很容易,填代码,例如GOOG。选择操作,新手一般就用Buy和Sell,然后选择买多少股或者卖多少股。美股是没有“手”的概念的,一股也可以买卖。然后选订单类型,一般选Limit。然后设定一个心理价位。下单。

一些心得:

不要做自己不熟悉的股票。美股没有涨停跌停的概念,不要觉得前一天跌了百分之好几十的股票,第二天能有技术性反弹,虽然真的会有,但是如果你不熟悉那家公司,根本不知道他为什么涨,为什么跌。就好像有一天我看VISN跌了10多%,就买了一些,那两天基本上都是很不安,不知道能不能涨回来。结果是我$1.30买入的,$1.30卖出的。卖出之后两个看,涨到了1.4x。再看又回到了1.3。

如果自己没啥把握,不要尝试买几百块钱玩玩。因为这种玩玩真的没啥意义,1. 浪费钱,每次买入卖出都是要给佣金的。2. 挣钱了你会后悔买的少。3. 亏钱了后悔进场。

大起大落的时候最好不要碰。例如昨天新闻说北京微博要实名制,大家都觉得新浪股价不行了,结果呢?新浪上演大逆转 由早盘跌11%到收盘涨4.26% 。。。

最后,祝大家2012多挣点钱,虽然买不起船票,至少能吃好喝好嘛。

SogoTrade推荐注册地址: https://www.sogotrade.com/s1/NewAccountSetup/Step1.aspx?rf=598726

Python SQLite的使用经验

SQLite是一款轻量级的数据库,很适合用着移动设备上,或者是客户端程序。SQLite的优点有:1. 不需要为数据库起一个单独的进程 2. 整个数据库可以随时拷贝走 3. 不需要任何配置。从Python 2.5开始,SQLite就在标准库了,所以用起来比较方便。下面是我使用过程中的一些使用经验。

连接到数据库?很简单。

import sqlite3
conn = sqlite3.connect('/tmp/sqlite_db')
cur = conn.cursor()

接下来干嘛呢?建一张表吧。这里需要注意的是,SQLite不支持在创建表的同时创建索引,所以要分两步走,先创建表然后再创建索引

create_table_stmt = '''
    CREATE TABLE IF NOT EXISTS test_table (
    id TEXT,
    duration INTEGER,
    event_date TEXT,
    parameter TEXT
);'''
create_index = 'CREATE INDEX IF NOT EXISTS idx_id ON test_table (id);'
cur.execute(create_table_stmt)
cur.execute(create_index)
conn.commit()

然后往里面插一点数据吧,SQLite只支持5种基本的数据类型


NULL. The value is a NULL value.
INTEGER. The value is a signed integer, stored in 1, 2, 3, 4, 6, or 8 bytes depending on the magnitude of the value.
REAL. The value is a floating point value, stored as an 8-byte IEEE floating point number.
TEXT. The value is a text string, stored using the database encoding (UTF-8, UTF-16BE or UTF-16LE).
BLOB. The value is a blob of data, stored exactly as it was input.

问题来了,SQLite的时间和日期类型在哪里?原来SQLite可以把时间日期保存在一下几种数据类型里面


TEXT as ISO8601 strings (“YYYY-MM-DD HH:MM:SS.SSS”).
REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar.
INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC.

insert_stmt = 'insert into test_table values (?, ?, ?, ?)'
record = ('test', 123, '2011-11-30 12:34:56', 'hello')
cur.execute(insert_stmt, record)
conn.commit()

把日期保存为字符串以后,不能直接拿出来直接当日期用,在用之前要调用SQLite的date函数

例如找前一天存进去的数据:

SELECT
    id,
    duration,
    event_date,
    parameter
FROM test_table
WHERE
    date(event_date) = date('now', '-1 day', 'localtime')
ORDER BY id, event_date

SQLite没有show tables,怎么查询数据库里面有什么表?

SELECT name FROM sqlite_master WHERE type = "table"