|
|
改了一下,这次运算应该没啥问题了$ x8 g% J5 J: K3 a
- ?, v0 a( |/ U5 D" |# ?- t) M; x1 y9 d" T2 t! e1 e/ ]/ ?
capture program drop hello
8 w( z- m2 n( A4 D4 K9 O' M! m4 e$ I! {+ s0 N1 z
program hello
' G- C, ^8 ~1 }3 N, S: v p$ [0 O# A
quietly {
! ^% j# }2 h9 a2 X: v. O! ^0 i: H5 Q0 F: {7 ]
clear0 M# A8 K1 @6 `7 ^
4 W1 t: Q+ w6 z% Z6 B7 Qcd e:\finance\stock\20110101\source0 A* o( a! F3 Q$ p$ a" }
; S/ W9 `( G/ ~/ x6 z. Yinsheet using `1'.txt0 q2 [' G6 n& L' u0 O& P
! z) z; ]2 D! Z. p& z/ Y& F2 r- @- T2 \0 ~
keep if v5>0
# O. j8 u) Z+ n+ c3 R
% W" b% h2 S" V9 e gen vt=_n$ v3 p% |4 P0 [# r
4 T# U0 W$ N3 a. r* e3 e; V% F2 X
tsset vt1 i4 h0 q- I9 |% m$ N$ P
! f5 r* l7 F) y D/ h* O. v5 z! O gen zf=D1.v5
* Z& j( u- x/ A5 e6 E8 U
7 N: _7 `3 V7 c ]: ?) X5 E9 ^ gsort -v1
! ]7 A6 Q/ |5 n4 p7 z; Y6 l$ U# w8 S# M
gen avol=v7/v5
- E- P, S& M5 X* [; r / |) P g3 p/ P) p$ N8 b5 }
keep if avol>0: [4 z/ b4 t5 P3 i0 ?% J( J
: n1 S! T* p0 I8 Z$ T! } drop vt
! @$ m, K `6 R% S* B, j 4 z- O) ]& C! }8 O- w& b6 M
gen vt=_n6 J* l) Z$ L7 l" `
/ r" A6 w; ~5 W( x5 Z$ r+ v
tsset vt
* [$ H5 i3 Y1 G# ], Z
' l; ~/ w2 O1 _ sum v5 [aw =avol]: D \. g6 X/ v% D+ W' A
7 U9 E4 Q6 N! Q gen amean=r(mean) in 1$ l% l+ ^! c$ q9 l% i; s& @
4 P& ~ ~7 @+ O O- I6 N2 t; O& h! p/ c * 总加权平均值 amean' D7 H+ ]8 a1 ]# r8 c
# c) u4 C8 i& _2 v
; [( G+ \. f8 z6 F6 N4 I
keep in 1/240$ \- L3 ?2 n0 t- {/ E( c
+ t# R* x" ?0 a! W7 q sum v5 [aw =avol]7 j. K6 y# Q0 k) l) a
% p: h. s" ^9 x- R gen mean240=r(mean) in 1& z$ p3 ]" G2 ^8 C
( a; X6 V$ s6 S1 Y! N4 A6 `; F
*240加权平均值 mean240# u" Z* C: {0 B* x- ^
& q5 V, ^) f' _ set obs 500 2 f3 d5 B2 f# q2 ?8 W# p
$ N2 L9 A( V4 a# T kdensity v5 [aw =avol],gaussian n(500) generate(dx240 dy240) nograph# h6 ]# P0 Q! y( P) _+ ^) j9 q
7 w' ~; D+ H! v% s* n
*240 kdensity(dx240 dy240)
- O8 p! O) ^5 M, r* J # M* C; b& d; l
sum dy240
6 g: T3 }/ I+ u
$ I4 ^2 Z+ O0 j; E2 K2 o- ? gen yxis=r(max) in 1. w1 U: v* f0 q/ H' P" E6 e
' N! I( X& K! |! e# e) c gen yxis2=yxis/2
# X! J& D9 Z: z& K7 N4 M * \% A( q" u; U$ r% |7 a; C5 I; P
*yxis% D4 g0 Q' ~6 G) S
4 C9 d6 x# Z% D9 L+ @ gen dy240max=r(max): d) l$ y3 E; i. j
; h2 y% t) m4 H8 [; ^7 f gen dy240minp=r(min)3 J) ^- F4 R6 a5 C" d* ]
5 `1 N( V m: q6 G
gen vtt=_n
C" S+ o" N. V; f. h' u, `* p7 t' ~
& _7 q4 d6 d5 l: N* u tsset vtt
/ n2 v4 m1 U, X# Z: C
2 a) t, m+ E- w gen ddy240=D1.dy240/D1.dx2403 z, E2 n- O- K. c6 d
K4 N) i5 O: y( Q0 X' E, a" X
sum ddy240
( G! T2 g, j; j, R 9 |$ C1 G& H. K
gen ddy240max=r(max)
! n0 C6 Q2 I$ ]3 A % U. t& h; s6 V% T3 l9 q. k! D
gen ddy240min=r(min)# p) n) N1 n& z1 O
6 w/ ^3 K# W% X4 c, U, J gen ddy240g=ddy240*(dy240max-dy240min)/(ddy240max-ddy240min)5 \7 V" J0 c+ r7 Q
: z7 L2 x7 P( ~- o. c( n! Z" E* W sum ddy240g$ n4 V2 ]1 ^* ]; e
8 B" K! S% R t0 P. X3 T
gen yxis3=r(min) in 1* |. b! ]8 X: c0 U" m ^1 e- ]: J$ t
( r, Z, }- j$ ^4 j+ d
gen yxis4=0 in 1
' _; I" `# O) y ( d( r4 B6 j1 s& }4 m( a: t& A+ b
*ddy240g
$ g6 j$ Z8 q8 z1 {
7 _5 U4 ^5 [' k g" W: q 0 e: B8 ^& w" E k* v, c& U% G
preserve " q, C* j1 i! S- j3 M+ ?( i
2 }* p" h/ k2 @
sum v5 [aw =avol]
( @, |; A/ D7 m
A1 |) w" Q, A' D5 M; V- D2 s keep if dx240<r(mean)- k; P" R0 J+ q1 ]/ x
- J9 ^+ M1 T7 F/ @9 ]
sum ddy240
; Y W! j x L7 y6 [2 H* u/ c 9 x4 G$ o7 s+ P% E
if r(min)<0 {2 H; V5 ~0 m8 @. E; S
' N7 }" b& q; _2 H keep if ddy240<=0
% G0 B1 T! L9 G7 ~; } d% N + v" v1 i: k4 G6 {. S4 J
count1 o% P h8 L9 n
: b$ d* q$ X Y
if r(N)>2 {" p& R" ^5 T- W: V! L# h5 m5 z
& ]! L& g$ X4 W8 \6 P$ B2 F pkexamine dx240 dy240
/ y+ Y' W; r" v; H & H0 F3 G/ x+ Y4 `6 g3 Z
local tempminp=r(tomc)
. J3 r7 I+ A! u- g6 D restore
) W. V5 a; a: A; c) d }
' j- m, Q; @6 [1 l' x; ^5 u . [2 \, n/ F5 e0 l$ R) s7 T
else {
$ S, l: d9 a' J1 B: \ y* u
3 L( \! x2 |6 f* ]9 Z6 ~* X5 p di "cannot find minp". }2 S* u3 N: g9 l+ l
; R( Z" E" s" @5 Z7 ~9 P
restore
$ `3 N' l8 W4 l3 B( M sum dx240
( O- q3 ?, V. O) E6 R | local tempminp=r(mean)! S! N. Z: \5 |2 u8 m: W
& {& J+ u6 _0 a: j/ T8 W }: }; U: X: |! B# z; H8 e- m. c
}2 \1 W" L, r$ R
else {
' E0 b8 w- D# \$ S / A3 K! ?7 C% ^- G
keep if ddy240<=r(min)
; k3 L- C1 [6 ~0 X0 _7 Q - e8 R" H l P d2 d2 j- d, W8 Q3 U
sum dx240
$ \6 n: c# B$ [: n* Z% R : |) u5 w' a2 t
local tempminp=r(min)( t& W1 y7 r( Q7 d3 `
restore , t9 A. B3 z- C) ~5 n4 |7 ~
}* S% }& R; E9 K+ u6 y
+ m# g4 J4 P1 s
/ ^0 F I2 z w3 J
! v( V6 e7 e9 @6 e/ A+ \* k( t gen minp=`tempminp' in 1
1 Q' n% q& m- d- \ *240 minp
$ G/ A6 p: X' O& y! g1 I) W3 A8 W) c1 Y) U: k1 M! ?2 B
4 q, C0 ]0 O/ c5 f$ [5 j) F+ s, r; C & Y* w' y: K4 y+ q6 {$ O- j) B
preserve
1 O; ^, s K7 c# f- V; H 1 G- c) T& t4 n, [
sum v5 [aw =avol]
' a1 L. G3 |- D3 [( ^ 2 o2 z5 T& ]. j5 E( x
keep if dx240>r(mean)
j+ L0 B% z" M% o- q 3 n: ~5 S: }, R* B$ Q3 T' t
sum ddy240
* h9 B8 j# G$ k4 \' s, U, o, ^* w
2 e4 K/ y1 A3 P( C+ w! ^ if r(max)>0 {
% X. p* v. X" W& j( T8 F# y) [
1 c, e% N& K1 C4 A0 a. c keep if ddy240>=0
' d& H2 N1 O; N% o0 N
# X7 ^# x% p% m+ ` x1 S: p, w count
6 X- c$ p M+ w8 I
7 z: f U- E& T/ y$ L5 {3 V' h if r(N)>2 {
; k' G( p0 V2 i7 b) F' R
. a+ o' h) O/ ~ pkexamine dx240 dy240
' J+ A$ n# ^ D1 U
- Y5 J! B5 o- s" ` ]0 | local tempmaxp=r(tomc) ) M4 }* A; X- H5 P
restore
/ s' x% \' T3 ]3 c n9 [) t7 y }* A, Z- U% t7 ~' m# G8 x) E
' U H9 b/ j3 ^% J: y$ ^
3 @' t% A% a9 E* ~: b+ ^' i1 Z
else {
3 W1 f, z; `, ?7 F8 {* P+ }3 V" G restore
3 r' k3 b( q% c0 C di "cannot find maxp", |6 m6 d0 M# C2 y- p
3 q# C- H, x9 D9 U1 K+ X6 } q
: K. {2 m; V! }) F- r! E8 t+ w
sum dx240
$ O' e/ b4 g% C, H local tempmaxp=r(mean); s6 N' ^9 R( o/ W* y* H+ i
" ]6 x" \ C4 v9 @ }+ H) b) Y2 ^8 I$ |
% Q( ^1 q# _, J1 ~! \* P( u) F0 {) \
}! d- ~, }$ a& b% T' q( j
2 b. _4 ~& f* k! Q# L' l
else {
. c3 b U# p- _
. e d+ o$ @% ^5 t keep if ddy240>=r(max)
3 k/ |5 s0 q* ^+ z 8 [7 c# N" J c7 t% G- m7 D
sum dx240 L) J5 N* I- z$ P4 D; ~
. b( w2 c' d) B( G5 U
local tempmaxp=r(max)
H( J8 Q" @; \ restore
, m' G3 h6 R3 y% y' T5 c }, d. n- r2 ?4 n! T B0 ?) _
6 s( d# K% U' I8 O) o3 Y
1 a' X) Z I! Y. O9 _ " R3 i. @! N/ q9 _5 F* |
3 _7 z$ V5 I4 K7 B! _/ v( @
gen maxp=`tempmaxp' in 1
/ ~$ O3 b1 `5 I- v8 x, [" t
: t' t6 l" B: l- n! d$ J; P9 e *240maxp
0 B5 {5 i4 Y1 a( x+ ?9 L6 } q ; s& {. q2 Z3 k
% E7 b" X# I4 M- O& i2 E7 J- h
*-------------ddy240pminp左侧高峰值-----
) S& p7 J1 X I5 S& p
8 i' H* N9 _8 Y preserve
1 y, Y2 j( h6 @$ p- A
8 S9 Q1 X" H8 J& d2 Z+ M) |. U keep if dx240<`tempminp'
+ F3 ?0 x" J8 S# R( V # ]6 Y) c8 A7 }9 z2 T' e" e
keep if ddy240>0
% b* c3 ^$ c. M& D ( h W# i+ u4 S1 u
count
) w \% [6 Z8 s3 f9 w
2 N2 ?6 X" ]$ j( T1 S! {: e6 D& I if r(N)>2 {
% l" M, r+ {+ [) |
+ C+ O& {0 p& P% {' f/ ^! C: r pkexamine dx240 ddy240; }7 A; D+ ~) s9 R% m7 o
7 ~5 T3 ?$ G+ D- @
local tempminphddy240=r(tomc) 5 d' X; B; a+ O# W) J7 g
restore
# C% p7 p0 a- \. Y }7 }& I8 J& O Y' U: }
0 O: k1 i7 x' n$ k$ @! C
else {' i2 H5 R1 E8 i% Y5 C* B U
restore
" U* C2 d h- t* I% V4 i di "cannot find pminphddy240"( \0 `2 w5 P0 s, Y7 J" l5 j
+ i2 Q" Q) h8 k% u7 o2 E
9 P0 d0 n5 m% S sum dx240( u1 [9 E6 W1 `' `" E) Y0 z
local tempminphddy240=r(mean) # Y% }2 e3 ?$ r& T/ ~8 {( f/ d
% Y. B8 l% A! E( I
" I$ r5 Z0 T! U' N9 \ }+ q& R* a' [8 Q" q+ D. [. ^" l
: K5 R2 ]9 i* W4 N, N
2 N O( x8 t7 O9 ^0 ^5 Y3 [ " Y4 J. u7 S D5 f3 r
, P! T; a- G# V7 e- O * }0 r+ t( K& V5 Z! R
% G* P. P& \+ c# t5 p gen pminphddy240=`tempminphddy240' in 11 d9 S5 H0 W* _
/ h1 O8 m$ k$ L F4 P5 } " L) U3 P5 c! d! c/ Q5 G) O
*-------------ddy240pminp右侧低峰值 -----------------3 i g+ t( L, X6 ~
preserve 1 [* o/ g% ^! S) q5 c
& X! n/ @( M6 [" q! ~: x6 a keep if dx240>`tempminp'
: P- W0 G: l# r; E5 t
7 w' ~( {$ F1 `( x9 @4 G keep if dx240<`tempmaxp'' `! [; V; o- y9 X2 M: g
; x% S* ^- P% h8 M3 y
keep if ddy240<0
4 ^! Q7 d. p$ v" @8 G0 P, Q: X$ ~
* o" s+ x8 y$ u6 u7 x/ t gen temddy240=-ddy240# D d8 M. r3 o! \& z
4 {; m( [9 ~( }) {5 N
count/ ?, o: B0 A$ W. Y0 }- j$ n
8 l4 s/ I; m0 I! ]& U8 w if r(N)>2 {) X* w0 [7 r. F" r* s
; R6 M& I; e& i6 i! `1 k# p pkexamine dx240 temddy240
& D( \. O# Q* y, N 9 U8 J5 }8 C' I9 G! c
local tempminplddy240=r(tomc)4 x: b0 \! M0 u
restore
) H$ e2 ]% f/ ? s" ~' }/ J% V/ f }
. y( T" i5 z/ r: A" k( i* s( d5 m( M+ @ 0 S2 q$ a! H9 i: P) [
else {
$ V+ q: X9 s# c& Q
. v' _4 \4 B- N; Q di "cannot find pminplddy240"
1 ~" A5 W: ~3 v1 W; i restore, H7 k. G* n1 z4 A5 l6 N( g
; p3 j% f* e Y. o" K sum dx240
8 Z0 p& F! Q) D% Y: x7 L: h6 o local tempminplddy240=r(mean)
: u7 V# y4 J. U, u1 p* _: G' E" [+ S - H! F' g8 U* V. K# _
$ `0 l: D) N/ h9 ?) M1 m
}& U" D7 |7 I# v' ]( [
) f5 N% f7 G7 I2 X- a* |
, \2 W' Q6 w p) i
. |4 S& ]7 x! z; p. N) b 4 y, U" S: `" Z
& N0 f: T& M" N+ N3 G: U* Z( \( x: \ gen pminplddy240=`tempminplddy240' in 1 t2 o2 R& F3 G) j" }. d* Y
1 ^' ~+ T* Y5 i *-------------ddy240pmaxp左侧高峰值 -------------------9 z6 a6 {) r! z) |/ M8 F0 D
* N4 f1 P4 A5 H preserve . [% D5 R$ d/ Z# ~1 B" l
5 J2 _( E/ c# P+ C! q; E' V
keep if dx240>`tempminp'
) @" k7 ?" N# X% B/ p0 @" H
4 j% q4 s7 i9 @# |- o# S! \ keep if dx240<`tempmaxp'7 C s3 r2 a: p$ Z
V. d6 Y& H% S; c8 o keep if ddy240>0/ f& h5 Y @7 R! O
count
/ l# j! Q0 ^" B0 O6 a
) ]2 |2 x |6 p Y$ v if r(N)>2 { l. U- A$ ~- [( {2 ^5 t h9 z, Z( a
1 a1 }. t* X1 K3 R' J
pkexamine dx240 ddy240
7 d: T# g. P/ W' Q" c # j+ x( ^3 P$ c
local tempmaxphddy240=r(tomc)
6 @5 ], Z9 Q3 e2 M , D4 W R) u" R) |; {2 r y
restore( ^# y$ ]& z9 g5 i' P
}- l* u4 T% v& Q5 M5 X
- j# W5 L4 ^- q S8 T# F# U else {
: ~& N( a% [9 @7 |3 I
7 K4 O5 C% ]0 k- U# x di "cannot find pmaxphddy240"
' p; F1 u! Z/ d. J: r% _$ G restore. [$ F5 r# d1 s, D" s
, D9 C& ], {: a" r/ C0 P sum dx240
: |- h, j- N. @ local tempmaxphddy240=r(mean) : |9 V3 B; L1 U U1 Q
& T+ B1 l* x0 j, p
) ^/ T* ~1 o; R$ r. g
}
) F; g& m1 y% f5 A; _
, c' C: {8 M0 o+ a! f ) F! B0 H0 ]& D" E9 \* p
& w8 S7 `$ g# h: G, c' j) c) W
% i* F: R' b( i. X: V+ R* t! g0 E ( e. V/ B! [1 p' `) r. y1 M
8 M$ H( d. o$ i$ j7 S/ G/ R gen pmaxphddy240=`tempmaxphddy240' in 1/ H! P- R3 G& M ?1 A
4 F$ Q6 H2 |3 K4 D% \
/ M" a: c ~7 e; k3 h *-------------ddy240pmaxp右侧低峰值 -------------------2 K% d/ b1 ~$ c" }' O/ o/ J4 ]" z
! e' ~" ^$ y$ v% s) U
preserve 7 h% i6 b+ \1 t W: y3 m1 M
% ~$ l) m5 j0 n: z keep if dx240>`tempmaxp'
$ ~: _4 i- Z! U: r+ W
' d4 ]- J2 l) H5 G% x$ W1 `9 Q gen temddy240=-ddy240# N% `. Q( I8 t
$ n! \8 C+ R1 W+ s' n ]7 @( l7 f keep if temddy240>0
* Q: M. F+ j3 a! k0 X9 a5 J 7 r- E3 e1 b* d/ Y
count
3 X+ E5 R6 p/ J* i9 c e % e. B" J, b- `7 [3 H' `- ^$ o
if r(N)>2 {
9 @) F$ o" V0 J: }0 J 1 P4 W8 W0 I7 W
pkexamine dx240 temddy240
! ]- H7 P3 w! N3 g
0 F0 J+ ?5 s5 _7 O: Y local tempmaxplddy240=r(tomc) ; B y* L; z( s1 G; x
restore3 u4 [9 U4 |' H3 ^/ V4 Q
}9 b. s& g# N% r6 d: _: ?- V
7 Y3 U% }7 A2 v) {+ | else {6 I; a3 L; h x2 S1 O8 }* ~
restore; `1 d1 g9 f& Y- F- Y
di "cannot find pmaxlhddy240"+ v9 s; _ _+ Q) J$ g
! t1 F4 u% ~7 b7 k
3 D& j2 F, e' q/ H$ i. j+ f. T
sum dx240" J& Y4 j- L, Z4 A$ ]
local tempmaxplddy240=r(mean) in 19 a- l) T0 \% _8 D' P
. q8 k+ m* V7 G* s8 p
5 S' Y0 f9 U0 [
}
- y" Q( x& l0 F3 p V0 j, H5 V* [! S8 H
! Y3 a: O! A; K$ ~" o
+ }5 q8 o P. h F0 m & o% _' V+ a3 T8 w9 ~* `! O; f
3 r7 I6 l8 W1 x+ x* i
3 d! q5 m% a& |1 k& d0 o4 ~" X* f gen pmaxplddy240=`tempmaxphddy240' in 1: W: }: K4 t) K8 t8 h1 k2 s
/ w6 @% j6 R2 d h5 O
*-------------------------------------
& ]% K+ X; g- b& a1 R1 d 4 x& }2 O: ^7 @
gen price5d=v5 in 1/20
% }# z) E* K" c* r- _
( h5 J2 @4 y# |& |" D5 x4 e gen price5yy=_n in 1/20
2 w6 m) N" Y% c
% o. ~# ], m; C gen price5y=price5yy*(dy240max-dy240min)/20
. q9 p% m8 H9 W7 ]& I& }5 [
. O+ {2 O* E; s* c; ^2 Z *price5y &price5d0 {: V+ f2 e- q
( F+ N4 v1 {. z/ x/ E) }1 [ gen priceny=price5y in 1
) a* j' ~7 }6 m5 P4 O, B ; o# ]/ C+ ~1 w( j
gen pricen=v5 in 13 \& @, }4 S- Q
1 \8 x0 X3 h3 X/ E1 |5 A5 B
6 \5 v' P) \2 Q* d! y7 r9 e, x *priceny &pricen
9 r+ \: {: M5 E* \) n
. B1 c, T% m2 M# J, D ; I$ t- z% h1 f8 q' I3 K
*-------------------------graph------------------3 U3 V' H1 o3 F* { e2 S0 Y
( ?4 X+ k9 W- Q, k
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)4 _ g7 y" P* ^4 H
! D2 q$ a2 f1 O- ^1 i
* ---------可选项目----------------------
/ P+ h' z2 _" f$ v
8 y/ O6 G0 Q7 M; o- R/ |/ ?7 G}
% Z7 h0 @# M% v* W% Pend
; q. k- C8 c" w: C8 f |
|