|
|
改了一下,这次运算应该没啥问题了0 n9 D. H. {. l j. a
! q0 S8 {9 _. `8 E1 r$ b3 N# H& X( [ }) ?4 Z
capture program drop hello. x, ?. p' W! y2 x6 [* \( x% w
% U' z5 Q- [- Rprogram hello
$ C5 f3 E0 n; F, G
, T5 B+ \0 H5 Y) o. R' b quietly {( a$ Q7 Y4 \5 R# J! c
+ Y \& N! k* x& zclear0 g" i& O! o& s) d! @5 g6 V
1 k5 t) I$ g& Y$ u. D! T* Scd e:\finance\stock\20110101\source
! C6 f/ x6 \3 ^6 T9 |' D" j
1 g& w) s- y9 C2 K( F* Rinsheet using `1'.txt' B& b1 l5 X8 L q; C. ~( x
# ^) @+ y5 }+ G: P2 H8 R1 h keep if v5>0
$ L2 p) U. [. o
4 r9 o( ]" |- A gen vt=_n8 I5 q/ S7 C- z+ t' {; ~, e) C
, F7 h2 Y# i" r' z' Y# z8 d tsset vt# w) ~4 w9 Q, q$ B/ o7 E
4 a7 n( m0 |+ ?" H! w7 m6 i" N gen zf=D1.v52 t0 m3 W' M4 |8 n" M
x: t/ ]/ S8 E. i7 ?4 |
gsort -v1
* @' w& y2 w# ` L" A" W; S8 x( z2 G0 M
gen avol=v7/v53 F, z/ r0 N1 s9 J& A) x7 v
3 l' {+ W# b' V8 K' q keep if avol>0
) p" k& i% K2 w& z
- L+ v$ H$ W; l( a) z drop vt4 k$ `$ B7 z9 ^8 l1 |
/ n: {$ N- Q* z; l& I1 b
gen vt=_n$ y- r6 S& Y% \6 I% i
6 C7 @3 j+ E# i6 @: N2 T3 L
tsset vt
" ]3 p2 G3 y! e6 j5 @. f6 L + b" p5 \8 F/ ^+ T5 p
sum v5 [aw =avol]
' Q9 K5 N8 s) o/ E6 U
: D9 Q9 h3 R% }: U/ B& j gen amean=r(mean) in 1
: V: }4 N4 F$ a) J# O' d$ w D+ [( K5 ?' L, Q$ [! R
* 总加权平均值 amean
; w3 c& j' ]/ [$ H* U" ~$ d; n
% u. {+ N9 W- [! o ; q4 L9 u3 p% S1 ?# I# Z
keep in 1/240
* B) Q* I @% X% i5 P1 U
8 `6 p2 u$ K8 w: t sum v5 [aw =avol]# `3 o3 ]& k5 N0 J" O; G' x
" v6 {5 T- Z" o0 [" P gen mean240=r(mean) in 1
# y: w5 ]# f2 g3 D; v " V8 v7 [$ g8 j
*240加权平均值 mean240
0 q& x1 E& K1 I ' {4 S c! I; P u7 T/ j
set obs 500
+ D/ z8 j \4 ?) \5 q+ i
, `# L* O1 \. x kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph
6 {' ^& t( x, O @0 z
0 U" M& [7 }0 A# o% a *240 kdensity(dx240 dy240)
% A) t0 X/ X3 J
Z; A" ]$ ~3 {1 C$ g sum dy240
* ?& L/ K; Q$ J: d K9 x ' T/ ~8 K1 t/ \3 e2 j
gen yxis=r(max) in 1
# T1 N' b5 ?5 U( q D9 U) O , K# M" i: r# ` m; B) M6 j
gen yxis2=yxis/24 Q2 H1 W' a. Z& D6 n7 f
) G# v7 q2 ^/ k7 g4 C7 [: h
*yxis
( u- `+ o, K$ [ D9 g6 N* E ( h( F" k7 L5 F+ S" N# }- |7 ], H6 P, l
gen dy240max=r(max)4 k3 q r6 e$ M3 i
* l& ?+ f" |8 J gen dy240minp=r(min)
; z* L/ N9 X: j: V" U5 f+ Q t, n/ P+ R/ a- `% Y$ g
gen vtt=_n- y0 {7 E5 v" b. n# \7 L2 L
% _2 N; w1 V7 V: u' `: L9 a" r
tsset vtt
* ], z" q5 Y" j
4 V9 o; U: G( e gen ddy240=D1.dy240/D1.dx240
/ Y" k0 u! y) s8 M: S # S. ^5 \9 R' f) J/ L' J. P& j
sum ddy2402 j3 D: n$ F9 z. N
" C* Z$ l% P1 X3 t gen ddy240max=r(max)) {6 ?4 y( W& x. R" q- O* b
) n" Q7 _' ^- m8 Z# p
gen ddy240min=r(min)
. T7 b% k# w \ e3 N
+ a' _& y9 d5 u) G) G gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)
+ \! a+ i. W8 e C ( S# }: u; W- B4 I2 ]9 Q
sum ddy240g
4 U" l Q' Z' `" R7 \ 2 c0 G9 \, k9 s4 }: A1 q
gen yxis3=r(min) in 1( Y4 s4 s# c' u7 _( @, z' _
8 U& }' [; K) [* x( j, M8 J7 ~ gen yxis4=0 in 1
/ I. I* F, s( _- I# V$ q + a8 p F: I; w6 m: P9 z P
*ddy240g
7 s7 M$ `& |$ ?/ K6 M9 x
4 A5 L9 Y7 \- B" I# v+ W, z 6 k. B: n, x7 V
preserve
0 @5 y$ m( W9 C: l- }, O+ n ! N, O5 v5 }( h" Y1 |9 y
sum v5 [aw =avol]
6 n }3 w4 t+ a
7 }% o" \) \' S0 e; w keep if dx240<r(mean)2 S+ u1 t4 ~/ v. s8 {0 m1 j% `
1 n! d \( z, Q3 t- y sum ddy2406 I1 d& p) P- l% }0 x
0 e+ I4 C4 A1 J h if r(min)<0 {. Z* \' p/ l8 @" T5 `
" z* ^2 J3 Z! Y6 ?/ j
keep if ddy240<=0
2 p0 p3 w. i4 g4 K) R; m! a
( a2 ~& }" n- v4 h& V- J count& K& M+ r, }0 ~9 U2 j
& F9 [" X( V; t if r(N)>2 {
% z D) M$ E- d' J# Q' E5 {$ p
) \& W: [' n) r# @) l$ ?* ^8 [0 V pkexamine dx240 dy240
1 ^6 u6 a0 Z; v7 v3 Y4 b1 h1 q
; M$ W1 f- l1 h. h* _5 _- m$ s- O local tempminp=r(tomc)
, u" d' f% c: N$ _4 e3 j restore
# D; E8 z/ v( n% L- }( K }
8 C% z' y- b3 P# ~! i% v
3 [% n: ?3 N, T5 E. j& q2 L7 g% k else {# k7 ]4 F) X8 E& A) N3 ?! l: T" m8 ?& I
5 v {* ^" J' _- o di "cannot find minp"" M% w U( N+ `% W
: o! S0 w! n# h1 W, b
restore ) Z- Y; \0 Q# B @4 ^1 T
sum dx240
; H+ O5 E8 q1 S: Z1 Y- q local tempminp=r(mean)' H3 M) x' Y3 L4 `1 {; r2 i
5 M- a( D. `6 v0 d8 b/ C* A+ q9 H7 H
}
2 v! X6 X% L1 U* g6 V6 p }
( h7 P/ s- Y, |& K else {
$ f# t3 m( Y) w 3 v4 K0 t: P! P( o7 T S
keep if ddy240<=r(min)" D0 [/ a; _/ Q
" `& y5 P/ L. T
sum dx240
" D' _0 ^' f" w0 |7 d
! J; K n3 x* K ` local tempminp=r(min)
( R3 B1 \* F1 i! P$ w+ M, u restore
: c. z& x# p ]8 f5 C4 D) O }
; c' P9 Q/ x2 e4 y
5 F1 X3 s: |6 o( v, b9 }
7 L5 N; [0 t8 F. f8 b+ o* p9 r2 B1 i& M% x7 F
gen minp=`tempminp' in 1
, T! K. k9 U. _. C7 q; D *240 minp
+ B. i1 a5 c/ F) q5 {: L- J3 ]9 J, `* L1 I1 ]! [8 w! N
n3 u. n9 L; S7 a( [2 O# I% B
& c0 q) l* V% T% | preserve
1 R8 r+ `6 h6 [/ ^$ m3 s% _ * G- P# ]$ J/ r
sum v5 [aw =avol] r/ m5 }3 p- o5 u" T
8 [( \8 K! A. D" D5 c' {4 S- j
keep if dx240>r(mean)5 r' O/ p: f. I, H
" S0 V& }; A% h0 Y( r sum ddy2408 E- h8 h, e. b+ j& E- P
6 I; } f; d3 R' n$ K4 X
if r(max)>0 {# B5 r" E/ C5 m6 x: [% q
; h' A' B. j1 ?; G keep if ddy240>=0
. L# d+ e' u- ?! A) e7 U$ q
1 M X( \3 K) `9 A1 B+ q- c* S1 A count: ~& Z7 d0 E8 P8 W! i2 V" W( @
/ ^5 ?8 P" R1 z# t7 h
if r(N)>2 {
7 U: w0 H% f. |( e
$ s( x! I# x( r$ f% N pkexamine dx240 dy240
% i9 J8 K' W2 h9 Z6 v
1 c6 X( v3 b) L, c) N local tempmaxp=r(tomc)
( S& ?8 g2 A* @( g restore
7 e1 l+ [. ^2 x' K+ n }# R" b n! v$ Q$ ^+ V
& n3 E, E5 S$ N6 I: H: j
; N: Y4 q" F- V7 `" ~ else {4 M$ `7 i l t# {& J
restore 7 g2 M, Z. [" L6 m7 k
di "cannot find maxp"& a( J0 X* p) F7 \3 X, \6 T( D4 _
& I; X6 {6 D+ k
: h4 o8 @" K1 r/ G; c$ d
sum dx240* t3 X9 l( j0 X% l. a
local tempmaxp=r(mean)
) W$ O# V( E- t& ] q9 s
: Z4 T" o5 S) r$ ?- } }
3 y: D' j- V; f: a7 ]% x . |( l5 S4 `0 r$ v0 Z, a
}
1 t3 {- m6 s+ t0 G$ U J1 c& |/ y( ^1 M5 V* H6 i% v6 {
else {
) M: y: U$ J: O
7 S8 e& w$ M. ^4 Q! T) t, S keep if ddy240>=r(max)
2 J, Z/ C6 J) W" G: B& s$ C 4 ?9 I' `/ y3 v+ g* i
sum dx240
0 l: [* F: U! L* c
- b7 Y1 D& A4 n3 | local tempmaxp=r(max) ! X# o3 ~( d9 j) ~9 a) g: u' d2 c1 y
restore
9 v1 d- D/ ~- k5 f4 C+ f6 J }# Y, T! S8 l* w- ~1 k* e
9 F" i c: a, R) t8 C
- D+ a! ]( I( @2 Z% s/ a) K
0 J( G7 k) W1 ]0 P) V( C% P; `7 B2 ~& x: H& b
gen maxp=`tempmaxp' in 1. i. F% W* }0 M
5 D2 P, k4 y( i *240maxp
3 c) N( k" q# m: j2 g1 W& a & d6 i/ _6 u4 P7 v3 O/ D
* @+ Y5 e) S- Q$ u) n' Q/ I8 M *-------------ddy240pminp左侧高峰值-----0 m7 R& o# L1 s: u2 U/ J7 V
4 o9 C' R8 l# U: O& p. E; u
preserve % ?( L2 d) K, B
# U+ G3 _# F) M/ w! N m8 E4 g
keep if dx240<`tempminp'
- l- E+ E8 b, V% }- J 0 `4 |& E+ [( g
keep if ddy240>0
" a. G" U9 g. x, b8 M3 o' E; x 5 ]4 _: f R( m. Q
count
" H3 x% ?+ c( a
7 ^, `7 b4 @4 Y$ z! J if r(N)>2 {1 M: X* A/ k* Y7 F$ k$ D, r
# @, l% a) y0 r2 l! h3 ^
pkexamine dx240 ddy240
$ R# w& T! T7 z* v8 }
( d6 {$ v! r, B& [' Z local tempminphddy240=r(tomc)
. C3 g6 v$ w' g( F& }( |, T- U restore ]' S* Q; q: S& F, t
}
% g% C4 l# r$ a1 I
0 {% N- m, F. B+ b U else {
: B B$ k9 v# |5 `- w/ d* V/ \1 X* Y restore 1 Q, I: }' O. @. u( D! X
di "cannot find pminphddy240"
' T7 P& Y \# d8 s1 b1 ] 1 {9 Z4 C6 F! A6 c3 [
8 H5 E; E+ U" Y' r
sum dx240. @7 r4 l* V- ]% j. i5 G3 F" A
local tempminphddy240=r(mean)
3 D( C4 N& R) Z' c6 s) [" Q 2 F, w/ o7 G( }9 n ~
9 M& \& s( y9 R- i }
1 {4 D$ `/ f( V, h# ^
9 j2 ?8 ]) Y7 U
Z! M( y' Q& n' O J& V# u ) [+ M2 f, x: z5 i! Y
g$ T/ I8 m+ o& v, N& [
/ W0 Z: [/ m6 q( H; b
8 G( q2 m. u+ P1 Y gen pminphddy240=`tempminphddy240' in 1
( c1 I' D/ k9 I: l% t; o& J
0 ]5 j' S$ s; H$ b$ k 8 G8 A& a; w% _
*-------------ddy240pminp右侧低峰值 -----------------' X& X0 \7 M G3 x/ P) N6 v$ `
preserve 2 Y+ i. ^: @. I0 Q
& S2 F3 L0 k/ P& C1 X5 } b keep if dx240>`tempminp'
; \$ \1 T( c: A% i, o* ~1 m& i) A
! C$ O! u; `0 m4 h- P/ S* r4 G keep if dx240<`tempmaxp'" f- v3 y/ q& B1 D1 B
/ j% b! R- Y+ Y: I3 i
keep if ddy240<0! _2 F. x. ]# D: I; a% i
' }5 @, S" W$ k
gen temddy240=-ddy240" u* k1 z+ P- p; }8 R' v, f
# l" m$ v1 \$ ^$ U count
. r1 @ D7 g, _$ o- J) x/ J0 U, h- {, G
' m% |# F5 o! b2 J if r(N)>2 {( \& U6 J7 i* }* i. M4 I. P: H* S
- Y" x: r1 f1 o1 y. H5 C2 q pkexamine dx240 temddy240/ R9 n9 ^$ |4 g. i" C& E; j
- a F# H9 t' t' j local tempminplddy240=r(tomc)
- Y% a$ D( d5 n( X; h. ~ restore6 F. u$ w1 \4 \% m V: f y
}- r3 I8 _8 n+ @( n, T0 U
: b5 M1 A; k( t6 {* c else {% w1 ?2 {0 _3 {) _
+ n* Z, j$ w9 s- Q+ O, I6 |. a
di "cannot find pminplddy240"
& W) B6 I' O& ?8 I9 @ restore1 N ?6 s0 w5 u8 h7 r
7 v3 C1 @9 u3 w& V& x
sum dx240
! x( g. y& }2 h+ m8 o4 y4 k local tempminplddy240=r(mean)
" Z4 c5 D0 i; W5 G, V6 d" F1 b
: Y: y2 T0 B) B: J* @) _; {9 g& A @ + |+ p6 z2 V( } p. Q
}
: l1 t( ~; z/ T# ~% ^
9 r% P7 K5 h+ |. b3 }5 p3 E
# D) {) _# @$ T( l 0 ?2 ?1 A; Z% G* w
( N0 \4 X# U: j+ @# T
0 G7 w/ \: A% N2 W; ?( t* Q1 |0 w
gen pminplddy240=`tempminplddy240' in 1
8 J( c* j2 e; f% U* b! N ! W" u, B# S; V; W/ D
*-------------ddy240pmaxp左侧高峰值 -------------------" P4 g/ O% k' u) v
p$ E5 R8 D: T- t0 {! q5 P' M preserve
- W/ }9 h0 H1 j) d/ W
* K. E' P) X/ K+ q7 {1 n' ~6 Y keep if dx240>`tempminp'
S8 m. g$ r8 ^; t/ n% \ 6 E. y' I! A1 y% C* n& q0 l9 V
keep if dx240<`tempmaxp'' H+ _: F- W6 b
/ G2 z) u* \- w7 l
keep if ddy240>0! L, t. Q1 R" B1 m$ L
count% y+ K. H0 [8 B
' F9 c/ d" I6 |, \6 z if r(N)>2 { M o ?2 M8 R2 c
8 a3 }: j" ?4 X
pkexamine dx240 ddy240
- e2 ]* h3 o0 w + V b) a" x6 G6 `4 B9 K
local tempmaxphddy240=r(tomc) - j. a$ ~7 P: v
& _0 B$ u& A( \' F) M restore2 m- c5 u* T- e/ k
}/ G* s6 @+ A: q0 c6 F% q
m3 L1 |& D$ ?: z! d2 z else {: U7 n; Q9 d0 }; U% j5 {
! `, l K, n- y' s
di "cannot find pmaxphddy240"
$ R$ B. j. G# }! [ p restore' n+ R9 R2 W' N9 W: a, H
3 Y7 J/ f7 ~' a% n0 z$ O$ }5 |6 V sum dx240
6 |$ m$ N" H5 z! G8 ~0 `9 T, O7 f local tempmaxphddy240=r(mean)
5 k3 F9 y) N; E' h
; h" r3 @7 a8 b. Y ) m8 {" i7 I5 ~% q- m+ O1 D- P* B
}( g' U& k( u* }7 ~) D$ n
M' U, R' R9 R- R
4 ?* X, \3 u. f# x
* ^6 r) G2 p/ W6 p. W* [! L
6 _! z( y! C* |% j
2 X# h( M$ r. E 7 n- i8 V) u7 `& a. M$ Y
gen pmaxphddy240=`tempmaxphddy240' in 1
5 @, p$ E; {7 w & p, Z- P! q" U% v) P
, U/ L) t! T2 R1 o/ k3 N. C
*-------------ddy240pmaxp右侧低峰值 -------------------
; l' |, y* q& Y/ ?
( ?" u$ j8 Y' x( I preserve
9 F1 O- l$ @) }0 H' r - Q* e2 N! |$ N0 _! Y
keep if dx240>`tempmaxp'
3 U$ O1 y) m/ p5 k: l
: ~7 ^: p/ s0 c- `' S% d; A3 u gen temddy240=-ddy240
0 B2 ^+ [4 `& N
2 ]" d8 O0 _- D" f keep if temddy240>0
0 p a. _7 U- o; I1 ?, i & |1 o- B1 K, p& E
count+ V1 m& |! l- ?1 N" Z
9 y8 z2 m8 n8 y i
if r(N)>2 {
% h% X5 A7 O5 x( [
5 ]& ~) K. A, V/ ]) X0 v pkexamine dx240 temddy240' n& D/ v) ?: @8 N, a l3 j" D" J
+ j* D% O) g1 Q local tempmaxplddy240=r(tomc)
- I5 t+ M6 L( y% X, b restore
2 t. p5 T3 ~6 F" ^ }3 J. h: r6 T# Z5 b5 u( A. p
9 m9 z" }* m' |" R else {
' R( z% v0 N6 i/ l. |, Q! L restore
. I& z. D, V" g5 _" C- C$ Y di "cannot find pmaxlhddy240"
0 y4 h. Z" O5 Q/ f7 C, M: r( p c % p4 y+ F4 E5 a |& Y
; r4 a9 P8 f* K sum dx240
8 ~3 D. U$ e8 ]* {2 R local tempmaxplddy240=r(mean) in 1
6 g) M* p8 F5 \$ [8 y" z
/ K" d, u( V8 y+ k : P ], j4 e3 V7 e; ^# Y
}
* D: T$ m+ I3 H6 m ^; A1 C+ n 7 N9 |7 B: ~3 M& W: W
3 y8 I* Q& W% P
/ B) V) K- ~. }2 J4 X- W
" C" x. h9 g0 `; e+ x& P
% R3 F q# W; g2 M9 \ 0 O9 w0 O, n$ A* _& z1 e5 f5 P# E
gen pmaxplddy240=`tempmaxphddy240' in 14 v0 ?7 s+ I# u6 @' B, @/ M
# [. {4 M* y: Q4 e1 S- ^6 b
*------------------------------------- F; n/ T: Q" E5 R1 k3 O
' S! [8 i% A! _$ z' v1 H2 a
gen price5d=v5 in 1/20) f) P# \: X9 u% e
- @3 x7 w- Y' y/ O gen price5yy=_n in 1/20! ]! j1 w/ \; r; ?0 q r: d/ l5 c
1 u) U y: q6 B9 v" z6 E8 N2 C! } gen price5y=price5yy*(dy240max-dy240min)/20- e& k0 y, _" I: o) H
. K6 L( J/ j( D& b *price5y &price5d
1 }% Y6 }" y% I; g' a% Z# g
6 R! M9 K1 ^9 J1 ^/ ? gen priceny=price5y in 1
( {6 T( ]. x0 p4 K6 W& Z
. l- V6 ]2 w6 |! ? gen pricen=v5 in 1
1 f0 Y- _' L# V, {3 d4 R' ?
* Q S f$ Z; L( Q7 K
" y6 d) ~4 a2 }: p- J8 D0 S *priceny &pricen3 {6 N; Z( U5 B8 c5 {. M
5 T* Y$ T/ _" N% R
0 `4 z* a z, g, g" ?- w5 L q *-------------------------graph------------------
) ?9 ^, S# j* D' E& S+ Z - B$ v# F- L3 \
tw(line dy240 ddy240g dx240)(spike yxis amean,lc(blue))(spike yxis mean240, lc(red))(spike yxis maxp, lp(-) lc(black))(spike yxis minp, lc(black))(scatter yxis2 amean, lc(blue) msymbol(+) mlabel(amean)) (scatter yxis2 mean240,lc(red) msymbol(+) mlabel(mean240) lc(red))(scatter yxis maxp,msymbol(+) mlabel(maxp) lc(black))(scatter yxis minp, msymbol(+) mlabel(minp) lc(black))(scatter yxis4 pminphddy240, msymbol(O) c(l[-]) mlabel(pminphddy240))(scatter yxis3 pminplddy240, msymbol(O) c(l[-]) mlabel(pminplddy240))(scatter yxis4 pmaxphddy240, msymbol(O) c(l[-]) mlabel(pmaxphddy240))(scatter yxis3 pmaxplddy240, msymbol(O) c(l[-]) mlabel(pmaxplddy240))(scatter price5y price5d, msymbol(O) mfc(black) mlc(black) c(l[-])) (scatter priceny pricen, msymbol(O) mfc(red) mlc(red)), title("`f'") xtitle("`1'") ytitle("density") legend(off)
9 d* ^+ T6 @6 Y7 T% `; B( j% w2 K; |4 T
* ---------可选项目----------------------
" G2 L) O# q/ o. L
6 q" M% O2 z2 l F}
# M, F/ y( ^& q# V3 h1 v/ Aend% J9 \- p9 l( x8 R2 D; s
|
|